k8s v1.18.0 二进制安装部署
一:基础资源准备
1.CentOS Linux release 7.7.1908 (Core)
2.服务器规划
IP 主机名(Hostname) 角色(Role) 组件(Component)
192.168.10.10 k1 Master kube-apiserver,kube-controller-manager,kube-scheduler,etcd,(kubectl),docker,flannel
192.168.10.11 k2 Node kubelet,kube-proxy,docker,flannel,etcd
192.168.10.12 k3 Node kubelet,kube-proxy,docker,flannel,etcd
3.软件版本
docker 版本 19.03.5
k8s版本 1.18.0
etcd版本 v3.3.18
flannel v0.11.0
SSL 工具 最新版
软件包查看step1
4.节点软件包拷贝
cd /root
scp -r * root@192.168.10.12:/root
scp -r * root@192.168.10.13:/root
二:基础环境配置
1.配置固定IP
配置固定IP,修改对应IP信息
sh -x set_ip.sh
2.确保各机器MAC地址及UUID唯一
ip link or ifconfig -a
cat /sys/class/dmi/id/product_uuid
3.环境配置脚本
根据信息进行修改ip,hostname,user pwd
sh -x set_env.sh
三:软件安装
1.docker 安装
可直接使用rpm包安装
需先删除旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine>&/dev/null
yum list docker-ce --showduplicates|grep "^doc"|sort -r
rpm -ivh docker-ce-18.09.5-3.el7.x86_64.rpm
配置服务,启动及检测状态
systemctl enable docker && systemctl start docker && systemctl status docker
2.部署ETCD集群
a.配置CA证书,服务请求串,在master上执行一次即可,其他各节点共享
根据信息进行修改ip,hostname,user pwd
#执行脚本
sh -x master_config_ca_etcd.sh
b.启动etcd服务 (启动时互相等待,需要3个节点同时启动最终成功)
部署脚本,需要在etctd 各个节点上执行脚本
①需要3个节点构造集群,修改节点名称 ETCD_NAME
②需要修改网卡标识 ens33
③需要修改节点IP ETCD01 ETCD02 ETCD03
④需要上传etcd文件 etcd-v3.3.18
⑤需要拷贝主节点上的 /etc/etcd/ssl/ server.pem server-key.pem ca.pem文件
#执行安装(3个节点)
sh -x install_etcd.sh
#如果有报错,检查 ETCD_NAME="etcd-01" 是否修改正确
#检测etcd是否正常 根据信息进行修改ip,hostname
sh show_etcd_status.sh
3.部署Flannel 集群网络
由于Flannel需要使用etcd存储自身的一个子网信息,所以要保证能成功连接Etcd,写入预定义子网段。写入的Pod网段${CLUSTER_CIDR}必须是/16段地址,必须与kube-controller-manager的–-cluster-cidr参数值一致。一般情况下,在每一个Node节点都需要进行配置
#执行脚本
sh -x install_flannel.sh
确保docker0 和flannel.1 同属一个网段
ip addr |grep -E "docker0|flannel.1"|grep inet
4.创建CA证书及部署服务
a. kube-apiserver和kube-proxy 的CA证书
apisvr 请求节点IP地址: 192.168.10.10 192.168.10.11 (负载均衡时多IP)
#执行脚本 master 节点
sh -x master_config_ca_kube_api_proxy.sh
b.配置kube-api 服务
多节点配置时,token要保持一致性
#执行脚本 master节点上
sh -x master_install_kube_api.sh
c.配置 kube-scheduler 服务
#执行脚本 master节点上
sh -x master_install_kube_schedule.sh
d.配置 kube-controller 服务
#执行脚本 master 节点
sh -x master_install_kube_controller.sh
e.创建bootstrap和kube-proxy的kubeconfig文件(为node节点准备)
Master apiserver启用TLS认证后,Node节点kubelet组件想要加入集群,必须使用CA签发的有效证书才能与apiserver通信,当Node节点很多时,签署证书是一件很繁琐的事情,因此有了TLS Bootstrapping机制,kubelet会以一个低权限用户自动向apiserver申请证书,kubelet的证书由apiserver动态签署
Master节点 创建bootstrap.kubeconfig和kube-proxy.kubeconfig
#执行脚本 master 节点
sh -x master_config_kubeconfig.sh
f.节点上配置并启动kube-proxy和kubelet服务
#执行脚本 各node上
sh -x node_install_proxy_kubelet.sh
5.授信Node节点
master 上执行
检查状态
kubectl get csr
#执行脚本 master节点上
sh -x master_approve_node.sh
6.查看节点状态
kubectl get nodes
kubectl get cs
7.检测版本
kubectl version
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved