目录
如果之前部署的k8s中途暂停了,导致flannel(或Docker)网络不通,可以配置ipv4转发功能解决
cat >> /etc/sysctl.conf << EOF
net.ipv4.ip_forward=1
EOF
五.部署 master 组件
1.在 master01 节点上操作
上传master.zip 和k8s-cert.sh 到/opt/k8s 目录中,解压master.zip 压缩包
cd /opt/k8s/
unzip master.zip
chmod +x *.sh

创建kubernetes工作目录
mkdir -p /opt/kubernetes/{cfg,bin,ssl}
创建用于生成CA证书、相关组件的证书和私钥的目录
mkdir /opt/k8s/k8s-cert
mv /opt/k8s/k8s-cert.sh /opt/k8s/k8s-cert
cd /opt/k8s/k8s-cert/
./k8s-cert.sh #生成CA证书、相关组件的证书和私钥
ls *pem
![]()



controller-manager 和 kube-scheduler 设置为只调用当前机器的 apiserver, 使用127.0.0.1:8080 通信,因此不需要签发证书
复制CA证书、apiserver 相关证书和私钥到kubernetes. 工作目录的ssl子目录中
cp ca*pem apiserver*pem /opt/kubernetes/ssl/
上传kubernetes-server-linux-amd64.tar.gz 到/opt/k8s/ 目录中,解压kubernetes 压缩包
cd /opt/k8s/
tar zxvf kubernetes-server-linux-amd64.tar.gz

复制master组件的关键命令文件到kubernetes. 工作目录的bin子目录中
cd /opt/k8s/kubernetes/server/bin
cp kube-apiserver kubectl kube-controller-manager kube-scheduler /opt/kubernetes/bin/
ln -s /opt/kubernetes/bin/* /usr/local/bin/

创建bootstrap token 认证文件,apiserver 启动时会调用,然后就相当于在集群内创建了一个这个用户,接下来就可以用RBAC给他授权
cd /opt/k8s/
vim token.sh
#!/bin/bash
#获取随机数前16个字节内容,以十六进制格式输出,并删除其中空格
BOOTSTRAP_TOKEN=$(head -c 16 /dev/urandom | od -An -t x | tr -d ' ')
#生成token.csv 文件,按照Token序列号,用户名,UID,用户组的格式生成
cat > /opt/kubernetes/cfg/token.csv <<EOF
${BOOTSTRAP_TOKEN},kubelet-bootstrap,10001,"system:kubelet-bootstrap"
EOF
chmod +x token.sh
./token.sh
cat /opt/kubernetes/cfg/token.csv

二进制文件、token、证书都准备好后,开启 apiserver 服务
cd /opt/k8s/
./apiserver.sh 192.168.111.171 https://192.168.111.171:2379,https:/

本文档详细介绍了如何部署Kubernetes集群的Master和Worker组件。首先在master01节点上部署Master组件,包括apiserver、scheduler和controller-manager,并配置证书、二进制文件和token。接着在master01和node节点上部署WorkerNode组件,涉及kubelet、kube-proxy的安装、配置和启动,以及节点的加入和证书的动态签署过程。整个过程涵盖了从网络配置到服务启动的全部步骤。

最低0.47元/天 解锁文章
1589

被折叠的 条评论
为什么被折叠?



