在部署Kubernetes之前一定要确保etcd
、flannel
、docker
是正常工作的,否则先解决问题再继续。
官网:https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.16.md
wget https://dl.k8s.io/v1.16.1/kubernetes-server-linux-amd64.tar.gz
部署Master组件
一、生成apiserver证书
#执行生成证书的脚本
cd /root/k8s/k8s-cert
rz k8s-cert.sh #脚本已上传QQ群文件,修改server-csr.json的IP,除node节点IP外
chmod +x k8s-cert.sh
sh k8s-cert.sh
#复制证书至对应目录
mkdir /opt/kubernetes/{bin,cfg,ssl} -p
cp ca-key.pem ca.pem server.pem server-key.pem /opt/kubernetes/ssl
# 创建 TLS Bootstrapping Token
#使用如下命令生成随机字符
#BOOTSTRAP_TOKEN=$(head -c 16 /dev/urandom | od -An -t x | tr -d ' ')
BOOTSTRAP_TOKEN=df754dcd89355a20994082c4f18f5e86
cat > token.csv <<EOF
${BOOTSTRAP_TOKEN},kubelet-bootstrap,10001,"system:kubelet-bootstrap"
EOF
mv token.csv /opt/kubernetes/cfg/
1.kube-apiserver安装
tar -zxvf kubernetes-server-linux-amd64.tar.gz
mkdir /opt/kubernetes/{bin,cfg,ssl} -p
cd kubernetes/server/bin/
cp kube-controller-manager kube-apiserver kube-scheduler /opt/kubernetes/bin/
cp kubectl /usr/bin/
cd /脚本目录
sh apiserver.sh 192.168.31.63 https://192.168.31.63:2379,https://192.168.31.65:2379,https://192.168.31.66:2379
修改配置
\#查看apiserver配置文件
cat /opt/kubernetes/cfg/kube-apiserver
#########默认日志保存在/var/log/meesgess下,如需要自定义如下:
mkdir /opt/kubernetes/logs
vim /opt/kubernetes/cfg/kube-apiserver
KUBE_APISERVER_OPTS="--logtostderr=true \ 改为
KUBE_APISERVER_OPTS="--logtostderr=false \
--log-dir=/opt/kubernetes/logs \
2.kube-controller-manager 安装 (管理控制器)
sh controller-manager.sh 127.0.0.1
#########默认日志保存在/var/log/meesgess下,如需要自定义,看apiserver安装
3.kube-scheduler安装 (调度器)
sh scheduler.sh 127.0.0.1
#########默认日志保存在/var/log/meesgess下,如需要自定义看apiserver安装
配置文件 -> systemd管理组件 -> 启动
kubectl api-resources # 显示API资源状态
4.增加Master(适用于多master节点)
scp -r /opt/kubernetes root@192.168.1.245:/opt/
scp /usr/lib/systemd/system/{kube-apiserver,kube-scheduler,kube-controller-manager}.service root@192.168.1.245:/usr/lib/systemd/system/
scp /usr/bin/kubectl root@192.168.1.245:/usr/bin/
scp -r /opt/etcd/ssl/ root@192.168.1.245:/opt/etcd/
修改配置文件
[root@master02 cfg]# grep 244 *
vim kube-apiserver
改为 新master IP
启动
systemctl daemon-reload
systemctl restart kube-apiserver
systemctl restart kube-scheduler
systemctl restart kube-controller-manager
kubectl get componentstatus
- QQ精品交流群
-
- 微信公众号
-