flannel之SNAT规则优化的目的是由于在K8S中的容器内,访问不同宿主机中的容器的资源的时候,日志文件会记录为宿主机的IP地址,而不是记录为容器本身自己的IP地址,建议在不同的宿主机上的容器互访的时候,在日志文件中查询到的IP地址均为容器的真实的IP地址.如下图所示,是为宿主机或进入宿主机的容器中进行curl访问另外node节点的容器,都会被记录成宿主机的IP地址,这样就会导致不同宿主机的容器互访,会经过一次SNAT转换,而实际上,不同宿主机容器之间的访问,应该会被记录为容器的实际IP地址…
Flannel简介 ​ Flannel是CoreDNS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址.但在默认的Docker配置中,每个Node的Docker服务会分别负责所在节点容器的IP分配.Node内部的容器之间可以互相访问,但是不能跨主机(Node)网络相互间是不能直接通信的.Flannel设计目的就是为集群中所有节点重新规划IP地址的使用规则,从而使得在不同的节点上的容器能够获得"同属一…
Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息. 整个kubernetes系统中一共有两个服务需要用到etcd用来协同和存储配置,分别是 网络插件flannel.对于其它网络插件也需要用到etcd存储网络的配置信息 kubernetes本身,包括各种对象的状态和元信息配置 Etcd是CoreOS基于Raft开发的分布式key-value存储,可用于服务发现.共享配置以及一致性保障(如数据库选主.分布式锁等) ETCD的主要功能: 基本的key…
kube-apiserver集群规划 主机名 角色 IP地址 mfyxw30.mfxyw.com kube-apiserver主 192.168.80.30 mfyxw40.mfyxw.com kube-apiserver从 192.168.80.40 温馨提示:这里部署文档以mfyxw30.mfyxw.com主机为例,另外两台主机安装部署方法类似 1.下载kubernetes软件 kubernetes的github链接:https://github.com/kubernetes kuberne…
在IP地址为192.168.80.50,机器名为mfyxw50上搭建私有仓库harbor harbor下载地址: harbor下载连接地址:https://github.com/goharbor/harbor/releases/tag/v1.10.0 平时访问GitHub的时候非常慢,特别是对于稍大项目Clone的时候就会更慢,当Clone项目的时候,可以将github地址变成github.com.cnpmjs.org就会获得加速 更改的harbor下载地址:https://github.com…
1.修改主机名 hostnamectl set-hostname mfyxw10 hostnamectl set-hostname mfyxw20 hostnamectl set-hostname mfyxw30 hostnamectl set-hostname mfyxw40 hostnamectl set-hostname mfyxw50 2.关闭selinux和firewalld systemctl stop firewalld && systemctl disable firewa…
在实际生产环境中,部署好的集群稳定就行了,但是,如果需要使用到新的功能或当前版本出现了严重的漏洞,都建议做升级,本教程是将node节点从v1.15.10版本平滑升级到v1.15.12版本,如果升级到相对应的版本后,发现不稳定的情况,也可以通过相同的方法进行降级,不管是升级还是降级,都需要一台升级/降级好后再对下一台进行操作,不建议一起进行 1.查看原集群的Node节点的版本号 在master上(mfyxw30.mfyxw.com或mfyxw40.mfyxw.com)任意一台主机执行命令 [roo…
1.下载dashboard镜像 在运维主机(mfyxw50.mfyxw.com)上执行命令 [root@mfyxw50 ~]# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.1 2.对dashboard打标签并上传到私有仓库 在运维主机(mfyxw50.mfyxw.com)上执行命令 [root@mfyxw50 ~]# docker images |…
kube-proxy是Kubernetes的核心组件,部署在每个Node节点上,它是实现Kubernetes Service的通信与负载均衡机制的重要组件; kube-proxy负责为Pod创建代理服务,从apiserver获取所有server信息,并根据server信息创建代理服务,实现server到Pod的请求路由和转发,从而实现K8s层级的虚拟转发网络 在k8s中,提供相同服务的一组pod可以抽象成一个service,通过service提供的统一入口对外提供服务,每个service都有一个…
集群规划 主机名 角色 IP地址 mfyxw30.mfyxw.com kubelet 192.168.80.30 mfyxw40.mfyxw.com kubelet 192.168.80.40 注意:这里部署文档以mfyxw30.mfyxw.com主机为例,另外一台运算节点安装部署方法类似 1.创建生成kubelet证书签名请求(csr)的JSON配置文件 在运维主机mfyxw50.mfyxw.com上操作 [root@mfyxw50 cert]#cat > /opt/certs/kubelet…