Kubernetes主机规划
主机名 | IP地址 | 操作系统 | 配置 |
---|---|---|---|
Master | 10.211.55.4 | CentOS7.6 | 2CPU 2G内存 20G硬盘 |
Node1 | 10.211.55.8 | CentOS7.6 | 1CPU 2G内存 20G硬盘 |
Node2 | 10.211.55.9 | CentOS7.6 | 1CPU 2G内存 20G硬盘 |
kubernetes集群环境准备
以下环境配置需在三台主机都要执行
1.关闭防火墙并设置防火墙随机不自启(kubernetes和docker在运行中会产生大量防火墙规则)
1 | [root@master ~]# systemctl stop firewalld |
2.关闭SELinux系统内核安全机制
1 | 临时关闭 |
3.配置本地yum源
1 | 清空yum路径下系统自带的仓库文件 |
4.配置本地主机名与IP地址解析(为了后面对集群节点的调用,企业中推荐使用内部DNS服务器)
1 | [root@master ~]# vim /etc/hosts |
5.配置时间同步,保证每一个节点时间一致
1 | 安装时间同步服务 |
6.禁用swap交换分区(kubernetes强制要求禁用)
1 | 修改/etc/fstab文件,注释掉swap自动挂载一行即可,修改后需要重启系统生效,这一步可放在最后环境配置后一起重启 |
7.修改Linux内核参数,添加网桥过滤器和地址转发功能
1 | 编辑/etc/sysctl.d/kubernetes.conf文件添加如下配置(该文件默认不存在) |
8.配置ipvs功能,在kubernetes中Service有两种代理模型,一种是基于iptables的,一种是基于ipvs,两者对比ipvs的性能要高,如果想要使用ipvs模型,需要手动载入ipvs模块
1 | 安装ipset和ipvsadm软件 |
9.安装docker、kubeadm、kubelet、kubectl程序(三台主机都需要安装)
1 | 创建阿里Base源与epel源用于安装依赖包 |
10.安装kubernetes程序
1 | 创建阿里kubernetes仓库 |
11.下载集群镜像
1 | 在安装kubernetes集群前,必须要准备好集群需要的镜像,所需的镜像可以通过下面命令查看 |
kubernetes集群初始化
Master节点创建集群(该操作只在master主机执行)
1 | [root@master ~]# kubeadm init \ |
node节点加入集群
1 | [root@node1 ~]# kubeadm join 10.211.55.4:6443 --token f49860.dvgjokzgezds8eo0 \ --discovery-token-ca-cert-hash sha256:15d43ece740e5bf2254fc25013126a5c73eff335ffc1765ebda25219b4764428 |
master节点查看node节点信息
1 | [root@master ~]# kubectl get nodes |
kubernetes安装网络插件
kubernetes支持多种网络插件,如:flannel、calico、canal等,任选一种使用即可,本实验选择flannel
只在master节点安装flannel插件即可,该插件使用的是DaemonSet控制器,该控制器会在每个节点上都运行
1 | 获取flannel配置文件 |
kubernetes集群环境测试
在kubenetes集群中部署一个nginx程序测试集群是否能正常工作
1 | 部署nginx程序 |