7、 k8s集群手动部署笔记之部署Node节点组件

配置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 ~]# mv kubelet kube-proxy /opt/kubernetes/bin/
[root@node1 ~]# chmod +x /opt/kubernetes/bin/*
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,也可以不修改按我下面操作即可。
#脚本里面ip不修改也行,这样运行脚本也可以。第一个ip是node节点的ip,第二个ip是dns的ip。
[root@node1 ~]# ./kubelet.sh 192.168.10.61 10.10.10.2
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
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值