摘要:
1 节点规划信息 角色 IP地址 系统 k8s-master01 192.168.226.20 CentOS7.8.2003 k8s-master02 192.168.226.21 CentOS7.8.2003 k8s-master03 192.168.226.22 CentOS7.8.2003 k 阅读全文
摘要:
在Kubernetes中,网络隔离功能是通过叫NetworkPolicy的API对象来描述的。 如下一个完整的NetworkPolicy定义: apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: test-netw 阅读全文
摘要:
Calico 前面介绍Flannel的三层网络解决方案是host-gw,其实还有一个非常出名的单独的三层网络解决方案Calico,它的工作模式和host-gw基本一致,也是会在每台宿主机上添加如下格式的路由规则: <目的容器IP地址段> via <网关的IP地址> dev eth0 其中网关的IP地 阅读全文
摘要:
在Kubernetes中,并不是用docker0来作为网桥,而是通过一个CNI接口来替代docker0,它在宿主机上的默认名字叫cni0。 以Flannel的XVLAN模式为例,其在Kubernetes中的工作流程不变,只是其中的docker0网桥替换为cni0网桥了,其流程如下: 注意: CNI网 阅读全文
摘要:
Kubernetes中解决网络跨主机通信的一个经典插件就是Flannel。Flannel实质上只是一个框架,真正为我们提供网络功能的是后端的Flannel实现,目前Flannel后端实现的方式有三种: UDP VXLAN HOST-GW 一、UDP UDP是最早的实现方式,但是由于其性能原因,现已经 阅读全文
摘要:
一、NFS 1、安装服务 yum install nfs-utils rpcbind -y 2、创建共享目录 mkdir /data/k8s -p 3、配置NFS配置文件 [root@master ~]# vim /etc/exports /data/k8s *(rw,sync,no_root_sq 阅读全文
摘要:
上面介绍的PV和PVC模式是需要运维人员先创建好PV,然后开发人员定义好PVC进行一对一的Bond,但是如果PVC请求成千上万,那么就需要创建成千上万的PV,对于运维人员来说维护成本很高,Kubernetes提供一种自动创建PV的机制,叫StorageClass,它的作用就是创建PV的模板。 具体来 阅读全文
摘要:
PV PV作为存储设备,主要包括存储能力,访问模式,存储类型,回收信息等关键信息。 下面我们定义一个PV的YAML文件: apiVersion: v1 kind: PersistentVolume metadata: name: my-pv01 labels: storage: pv spec: a 阅读全文
摘要:
HPA全名Horizontal Pod Autoscaling,既Pod水平自动伸缩。其基本原理的监控分析RC或者Deployment控制的所有的Pod的负载情况来确定是否需要调整Pod的副本数。 HPA在kubernetes集群中被设计成了一个controller,我们可以直接通过kubectl 阅读全文
摘要:
RBAC:Role-Based Access Control,基于角色的访问控制 Kubernetes中的所有API对象都保存在Etcd中的,而对这些API操作都是通过kube-apiserver来实现的,这是因为需要kube-apiserver来帮我们完成授权,而在Kubernetes中完成授权的 阅读全文
摘要:
Kubernetes的主要任务是保证Pod中的应用长久稳定的运行,但是我们有时候也需要一些只需要运行一次,执行完就退出了的"短时"任务,这时候使用Deployment等这类控制器就无法满足我们的需求,Kubernetes就诞生了Job Controller,专门用来处理这类需求。 1、Job 1.1 阅读全文
摘要:
一、简介 DaemonSet保证在每个Node上都运行一个Pod,如果 新增一个Node,这个Pod也会运行在新增的Node上,如果删除这个DadmonSet,就会清除它所创建的Pod。常用来部署一些集群日志收集,监控等全局应用。 常见的场景如下: 1、运行存储集群daemon,比如ceph,glu 阅读全文
摘要:
一、简介 实例之间的不等关系以及实例对外数据有依赖关系的应用,就被称为"有状态应用"。 所谓实例之间的不等关系即对分布式应用来说,各实例,各应用之间往往有比较大的依赖关系,比如某个应用必须先于其他应用启动,否则其他应用将不能启动等。 对外数据有依赖关系的应用,最显著的就是数据库应用,对于数据库应用, 阅读全文
摘要:
一、简介 Deployment实现了Kubernetes项目中非常重要的功能: (1)、水平扩展 (2)、水平收缩 比如更新了Deployment的Pod模板,比如修改了镜像版本,那么Deployment就会遵循滚动更新(rolling update)的方式来升级现有的容器 。这个操作依赖Kuber 阅读全文
摘要:
ReplicaSet ReplicaSet简称RS,随着Kubernetes的高速发展,官方已经推荐我们使用RS和Deployment来代替RC了,实际上RS和RC的功能基本一致,目前唯一的一个区别就是RC只支持基于等式的selector(env=dev或environment!=qa),但RS还支 阅读全文
摘要:
Replication Controller Replication Controller简称RC,RC是Kubernetes系统中的核心概念之一,简单来说,RC可以保证在任意时间运行Pod的副本数量,能够保证Pod总是可用的。如果实际Pod数量比指定的多那就结束掉多余的,如果实际数量比指定的少就新 阅读全文
摘要:
我们在集群中只要访问servie的IP+Port就可以代理到后端的Pod,在它们之前的请求转发离不开每个Node节点上的kube-proxy组件。 kube-proxy的模式有以下三种: Userspace iptables ipvs kube-proxy的主要作用是: 监听kube-api,获取S 阅读全文
摘要:
Service一般情况下只作用于内部Pod的代理调度,就算有NodePort类型,其访问节点相对复杂,流程大概如下: 但是我们知道,如果只指定一个NodeIP,随着业务量增大,这个Node的压力就会很大,所以我们可能会在前端再加一个代理,代理几个Node,比如我们在前端加一个NG,流程如下: 在应用 阅读全文
摘要:
Project Volume 这kubernetes中,这类Volume不是为了存放数据,也不是用来做数据交换,而是为容器提供预先定义好的数据。所以从容器角度来看,这类Volume就像是被投射进容器一样。 到目前为止,kubernetes支持4种这类Volume: (1)、Secret (2)、Co 阅读全文
摘要:
一、Service 对于kubernetes整个集群来说,Pod的地址也可变的,也就是说如果一个Pod因为某些原因退出了,而由于其设置了副本数replicas大于1,那么该Pod就会在集群的任意节点重新启动,这个重新启动的Pod的IP地址与原IP地址不同,这对于业务来说,就不能根据Pod的IP作为业 阅读全文