centos7.7安装k8s


k8s集群规划
三个节点
	master
		192.168.1.200  
		30.1.1.11
		cpus>=2
		memory>=4
	worker1
		192.168.1.201
		30.1.1.21
		cpus>=2
		memory>=2
	worker2
		192.168.1.202
		30.1.1.31
		cpus>=2
		memory>=2

网络规划
	192.168.1.0/24 访问外网使用
	30.1.1.0/24 集群节点之间通信使用

系统版本
	centos7.7

k8s版本
	1.17


主机名的注意事项
	1. 提前用hostnamect 修改三个节点的主机名
	2. 主机名中不能有大写字母、不能有符号(. -)
	3. 修改hosts文件可,实现可以解析主机名称

安装准备软件 wget
	yum install wget -y


你安装过k8s吗
	用kubeadm

kubeadm原理
	从网络下载docker镜像 并启动为容器 
	所有的k8s组件就是一个一个的 docker 容器


k8s的worker加入到master的时候 ,必须通过内外网地址通信
	内地地址 30.1.1.11



#############################################################
一键部署k8s集群


安装前准备工作
	1.	任意节点 centos 版本在兼容列表中
	2.	master节点内存需要大于4G
	3.	所有节点密码相同,我的密码123456
	4.	需要配置时间同步
	5.	任意节点 CPU 内核数量大于等于 2
	6.	任意节点 hostname 不是 localhost, 且不包含下划线、小数点、大写字母
	7.	任意节点都有固定的内网 IP 地址
	8.	任意节点上 Kubelet使用的 IP 地址 可互通(无需 NAT 映射),且没有防火墙、安全组隔离
	9.	任意节点不会直接使用 docker run 或 docker-compose 运行容器
	10.	必须关闭selinux和iptables和firewalld,因为k8s会自己去操作配置规则的。

三个节点
	master
		192.168.1.200  
		30.1.1.11
		cpus>=2
		memory>=4
	worker1
		192.168.1.201
		30.1.1.21
		cpus>=2
		memory>=2
	worker2
		192.168.1.202
		30.1.1.31
		cpus>=2
		memory>=2

网络规划
	192.168.1.0/24 访问外网使用
	30.1.1.0/24 集群节点之间通信使用

系统版本
	centos7.7

k8s版本
	1.17


第一步: 配置时间同步【master节点】
	[root@master ~]# yum install chrony -y
	[root@master ~]# vim /etc/chrony.conf
		server 127.127.1.0 iburst
		#server 0.centos.pool.ntp.org iburst
		#server 1.centos.pool.ntp.org iburst
		#server 2.centos.pool.ntp.org iburst
		#server 3.centos.pool.ntp.org iburst
		allow 30.1.1.0/24
		local stratum 10
	[root@master ~]# systemctl restart chronyd
	[root@master ~]# systemctl enable chronyd
	[root@master ~]# ss -unl | grep 123
	[root@master ~]# timedatectl set-timezone Asia/Shanghai
	[root@master ~]# echo "timedatectl set-timezone Asia/Shanghai">>/etc/rc.local 
	[root@master ~]# chmod +x /etc/rc.d/rc.local 

第二步: 配置时间同步【worker节点】
	[root@worker1 ~]# timedatectl set-timezone Asia/Shanghai
	[root@worker1 ~]# echo "timedatectl set-timezone Asia/Shanghai">>/etc/rc.local 
	[root@worker1 ~]# chmod +x /etc/rc.d/rc.local 
	[root@worker1 ~]# echo "30.1.1.1    master">>/etc/hosts
	[root@worker1 ~]# vim /etc/chrony.conf 
		server 30.1.1.11 iburst
		#server 0.centos.pool.ntp.org iburst
		#server 1.centos.pool.ntp.org iburst
		#server 2.centos.pool.ntp.org iburst
		#server 3.centos.pool.ntp.org iburst
	[root@worker1 ~]# systemctl restart chronyd
	[root@worker1 ~]# systemctl enable chronyd

第三步 上传k8s组件和安装程序
	install_k8s_1.17.0
	kube1.17.0.tar.gz

第四步 执行安装
	[root@master ~]# chmod +x install_k8s_1.17.0 
	[root@master ~]# mv install_k8s_1.17.0 /bin/
	[root@master ~]# install_k8s_1.17.0 init --passwd 123456 --master 30.1.1.11 --node 30.1.1.21 --pkg-url ./kube1.17.0.tar.gz --version v1.17.0

第五步 查看节点信息
	[root@master ~]# kubectl get nodes
	NAME     STATUS   ROLES    AGE     VERSION
	master   Ready    master   5m46s   v1.17.0

第六步 在master上生成token 
	[root@master ~]# kubeadm token create --print-join-command
	kubeadm join apiserver.cluster.local:6443 --token w4tghr.ff1hesx7c6gzwu1x     --discovery-token-ca-cert-hash sha256:792d03f02ece7a08b3e2ac259669a52635bd0d5f8fd09dff46a0361dcd0183b0 

第七步 worker1加入集群
	[root@worker1 ~]# vim /etc/hosts
	    修改
	    	30.1.1.11     apiserver.cluster.local
	[root@worker1 ~]# kubeadm join apiserver.cluster.local:6443 --token w4tghr.ff1hesx7c6gzwu1x  --discovery-token-ca-cert-hash sha256:792d03f02ece7a08b3e2ac259669a52635bd0d5f8fd09dff46a0361dcd0183b0 


第八步 安装第二个worker2
	配置时间同步
		略

    上传组件包和安装程序
    	略

	[root@worker2 ~]# tar xvf kube1.17.0.tar.gz
	[root@worker2 ~]# cd kube/shell/
	[root@worker2 shell]# sh init.sh 

	加入到集群
	[root@worker2 ~]# echo "30.1.1.11   apiserver.cluster.local">>/etc/hosts
	[root@worker2 ~]# kubeadm join apiserver.cluster.local:6443 --token w4tghr.ff1hesx7c6gzwu1x  --discovery-token-ca-cert-hash sha256:792d03f02ece7a08b3e2ac259669a52635bd0d5f8fd09dff46a0361dcd0183b0 



发布了16 篇原创文章 · 获赞 5 · 访问量 724

猜你喜欢

转载自blog.csdn.net/SKTONE_SHUAI/article/details/104179391
今日推荐