摘要:Assigning Pods to Nodes Inter-pod topological affinity and anti-affinity 在k8s中,pod会通过 kube-scheduler 按照节点现有的资源平均调度到这些节点上,但有时候,我们需要将某个应用的pod调度到特定的节点上。比
阅读全文
摘要:Kubeconfig 用途 kubectl 命令行工具通过 kubeconfig 文件的配置来选择集群以及集群API Server通信的所有信息。kubeconfig 文件用来保存关于集群用户、命名空间和身份验证机制的信息。默认情况下 kubectl 读取 $HOME/.kube/config 文件
阅读全文
摘要:一、动态供给存储介绍 Dynamic Provisioning机制工作的核心在于StorageClass的API对象 StorageClass声明存储插件,用于自动创建PV Kubernetes支持动态供给的存储插件:https://kubernetes.io/docs/concepts/stora
阅读全文
摘要:介绍 阿里云Kubernetes集群目前支持NAS、OSS、CPFS等阿里云共享存储服务,并通过flexvolume进行挂载; 共享存储支持一个存储卷被多个Pod同时挂载,多个Pod可能同时修改相同数据,这时需要应用自行实现数据的同步功能; NAS:适合于IO较高的应用,读写性能相对OSS高,可实现
阅读全文
摘要:流程: prometheus根据配置定时去拉取各个节点的数据,默认使用的拉取方式是pull,也可以使用pushgateway提供的push方式获取各个监控节点的数据。将获取到的数据存入TSDB,一款时序型数据库。此时prometheus已经获取到了监控数据,可以使用内置的PromQL进行查询。它的报
阅读全文
摘要:以最新版的nginx-ingress-controller:0.30.0为例 高可用Ingress 架构如下: 打开 https://github.com/kubernetes/ingress-nginx/blob/master/deploy/static/mandatory.yaml 然后Raw下
阅读全文
摘要:官方网址:https://prometheus.io/ GitHub网址:https://github.com/prometheus/prometheus 软件下载地址:https://prometheus.io/download/ 第三方中文介绍:https://github.com/104610
阅读全文
摘要:一、通过环境变量设置 apiVersion: v1 kind: Pod metadata: name: pod-env-tz spec: containers: - name: ngx image: nginx:latest imagePullPolicy: IfNotPresent env: -
阅读全文
摘要:Chartmuseum配置和使用 https://zhuanlan.zhihu.com/p/104233788 1.为什么要用Helm? 首先在原来项目中都是基于yaml文件来进行部署发布的,而目前项目大部分微服务化或者模块化,会分成很多个组件来部署,每个组件可能对应一个deployment.yam
阅读全文
摘要:在k8s中所有的内容都抽象为资源,资源实例化之后,叫做对象。一般使用yaml格式的文件来创建符合我们预期期望的pod,这样的yaml文件我们一般称为资源清单 资源清单的格式: 使用kubectl explain 获取资源配置清单中各字段设置的帮助文档: 一、前言 二、设置kubectl输入命令自动补
阅读全文
摘要:emptyDIR 临时目录 hostPath :使用主机的路径 网络存储: 传统的设备存储:NAS,SAN 分布式存储:glusterfs,rbd,cephfs 云存储:EBS,Azure,阿里云的 一、emptyDir 的类型:一个pod里面2个容器,挂载同一个目录, 注意:emptyDir的生命
阅读全文
摘要:在 Kubernetes 集群中,Ingress是授权入站连接到达集群服务的规则集合,为您提供七层负载均衡能力。您可以给 Ingress 配置提供外部可访问的 URL、负载均衡、SSL、基于名称的虚拟主机等。 目前主要广泛应用的有:Nginx、Traefik、Envoy三种 一、K8S服务暴露介绍
阅读全文
摘要:获取dashboard yaml文件 更改官网镜像地址 导入文件 访问方式 Kubernetes 暴露服务的方式目前只有三种:LoadBlancer Service、NodePort Service、Ingress 1、NodePort 为了方便验证,这里采用NodePort是将节点直接暴露在外网的
阅读全文
摘要:1、创建 metrics-server 使用的证书 vim metrics-server-csr.json { "CN": "aggregator", "hosts": [], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN
阅读全文
摘要:Calico 是一个纯三层的协议,为 OpenStack 虚机和 Docker 容器提供多主机间通信。Calico 不使用重叠网络比如 flannel 和 libnetwork 重叠网络驱动,Calico 依赖 etcd 在不同主机间共享和交换信息,存储 Calico 网络状态。Calico 网络中
阅读全文
摘要:kubectl run 创建并运行一个或多个容器镜像。 创建一个deployment 或job 来管理容器。 kubectl run 语法: 运行一个deployment: kubectl run nginx-deployment --image=nginx:1.7.9 --replicas=2 查
阅读全文
摘要:# ps -ef|grep docker|grep bip Flannel是一个专为kubernetes定制的三层网络解决方案,主要用于解决容器的跨主机通信问题。 Flannel 是由 CoreOS 维护的一个虚拟网络方案。Flannel为每个host分配一个subnet,容器从此subnet中分配
阅读全文
摘要:kubelet 授权 kube-apiserver 的一些操作 exec run logs 等 RBAC 只需创建一次就可以 kubectl create clusterrolebinding kube-apiserver:kubelet-apis --clusterrole=system:kube
阅读全文
摘要:首先,什么是kubelet bootstrap?在安装 k8s worker node 时,基本上 worker 的初始状态仅仅是安装了 docker 和 kubelet,worker 需要一种机制跟 master 通信。但网络通信的基本假设是通信双方谁也不信任谁。所以,kubelet bootst
阅读全文
摘要:使用kubectl通过终端连接到k8s集群之后。可以设置要在那个命名空间下进行操作。 查看当前的工作上下文 #kubectl config view apiVersion: v1clusters:- cluster: certificate-authority-data: REDACTED serv
阅读全文