配置node之前,需要相应的证书
#master节点上分配权限kubelet
[root@master ssl]# kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=system:node-bootstrapper --user=kubelet-bootstrap
#这里我有2台node节点,所有2台都需要复制需要的证书
[root@master ssl]# scp *kubeconfig root@192.168.10.61:/opt/kubernetes/cfg/
bootstrap.kubeconfig 100% 2189 143.4KB/s 00:00
kube-proxy.kubeconfig 100% 6291 657.2KB/s 00:00
[root@master ssl]# scp *kubeconfig root@192.168.10.62:/opt/kubernetes/cfg/
bootstrap.kubeconfig 100% 2189 1.3MB/s 00:00
kube-proxy.kubeconfig 100% 6291 3.8MB/s 00:00
node节点需要的组件
kubelet kube-proxy需要2个组件,组件包在我之前写6、 k8s集群手动部署笔记之部署Master节点组件这个文章有。kubernetes-server-linux-amd64.tar.gz也就是在这个包里面server/bin下面
node1节点组件配置
[root@node1 ~]
[root@node1 ~]
kubelet配置和服务生成,直接用脚本kubelet.sh 注意:NODE_ADDRESS是node节点ip DNS_SERVER_IP是dns的ip 这样可以直接使用脚本创建和启动kubelet,也可以不修改按我下面的操作也行
#!/bin/bash
NODE_ADDRESS=${1:-"192.168.10.61"}
DNS_SERVER_IP=${2:-"10.10.10.2"}
cat <<EOF >/opt/kubernetes/cfg/kubelet
KUBELET_OPTS="--logtostderr=true \\
--v=4 \\
--address=${
NODE_ADDRESS} \\
--hostname-override=${
NODE_ADDRESS} \\
--kubeconfig=/opt/kubernetes/cfg/kubelet.kubeconfig \\
--experimental-bootstrap-kubeconfig=/opt/kubernetes/cfg/bootstrap.kubeconfig \\
--cert-dir=/opt/kubernetes/ssl \\
--allow-privileged=true \\
--cluster-dns=${
DNS_SERVER_IP} \\
--cluster-domain=cluster.local \\
--fail-swap-on=false \\
--pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0"
EOF
cat <<EOF >/usr/lib/systemd/system/kubelet.service
[Unit]
Description=Kubernetes Kubelet
After=docker.service
Requires=docker.service
[Service]
EnvironmentFile=-/opt/kubernetes/cfg/kubelet
ExecStart=/opt/kubernetes/bin/kubelet \$KUBELET_OPTS
Restart=on-failure
KillMode=process
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable kubelet
systemctl restart kubelet
上面脚本可以修改里面ip,也可以不修改按我下面操作即可。
[root@node1 ~]
proxy配置也是直接用脚本文件 proxy.sh这样可以创建和启动proxy 注意:NODE_ADDRESS也是当前node节点的ip 跟上面差不多,也可以不修改按下面操作即可
#!/bin/bash
NODE_ADDRESS=${1:-"192.168.10.61"}
cat <<EOF >/opt/kubernetes/cfg/kube-proxy
KUBE_PROXY_OPTS="--logtostderr=true \
--v=4 \
--hostname-override=${NODE_ADDRESS} \
--kubeconfig=/opt/kubernetes/cfg/kube-proxy.kubeconfig"
EOF
cat <<EOF >/usr/lib/systemd/system/kube-proxy.service
[Unit]
Description=Kubernetes Proxy
After=network.target
[Service]
EnvironmentFile=-/opt/kubernetes/cfg/kube-proxy
ExecStart=/opt/kubernetes/bin/kube-proxy \$KUBE_PROXY_OPTS
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable kube-proxy
s