当前位置:网站首页>kubernetes 二进制安装(v1.20.15)(七)加塞一个工作节点
kubernetes 二进制安装(v1.20.15)(七)加塞一个工作节点
2022-06-11 12:53:00 【看、未来】
文章目录
k8s-node1 加入集群
分发文件
#此操作在Master(k8s-master)上进行
#分发kubernetes工作目录
scp -r /opt/kubernetes k8s-node1:/opt/
#分发kubelet,kube-proxy的管理文件
scp -r /usr/lib/systemd/system/{kubelet,kube-proxy}.service k8s-node1:/usr/lib/systemd/system
#分发证书文件
scp /opt/kubernetes/ssl/ca.pem k8s-node1:/opt/kubernetes/ssl
#替换kubelet.conf文件
scp /opt/TLS/k8s/cfg/kubelet02.conf k8s-node1:/opt/kubernetes/cfg/kubelet.conf
#替换kube-proxy-config.yml
scp /opt/TLS/k8s/cfg/kube-proxy-config02.yml k8s-node1:/opt/kubernetes/cfg/kube-proxy-config.yml
#删除kubelet证书和kubeconfig文件
ssh k8s-node1 "rm -f /opt/kubernetes/cfg/kubelet.kubeconfig"
ssh k8s-node1 "rm -f /opt/kubernetes/ssl/kubelet*"这里我再说一遍 TLS Bootstrapping:算了下一篇吧,这里之所以要删除这两个文件,是因为要从 master 的 apiserver 重新生成,如果有东西在那边,会导致一些莫名其妙的后果,比方说 kubelet 起来了,但是从master 上扫描不到 node。
如果有想重新安装 kubelet,记得要将那两个地方清理一下,不然会很有意思…
核对文件
#此操作在k8s-node1上进行
[[email protected] ~]# ll /opt/kubernetes
total 12
drwxr-xr-x 2 root root 114 Apr 3 15:47 bin
drwxr-xr-x 2 root root 4096 Apr 3 15:48 cfg
drwxr-xr-x 2 root root 4096 Apr 3 15:47 logs
drwxr-xr-x 2 root root 4096 Apr 3 15:48 ssl
[[email protected] ~]# ll /usr/lib/systemd/system/{kubelet,kube-proxy}.service
-rw-r--r-- 1 root root 246 Apr 3 15:47 /usr/lib/systemd/system/kubelet.service
-rw-r--r-- 1 root root 253 Apr 3 15:47 /usr/lib/systemd/system/kube-proxy.service
[[email protected] ~]# ll /opt/kubernetes/ssl/ca.pem
-rw-r--r-- 1 root root 1310 Apr 3 15:47 /opt/kubernetes/ssl/ca.pem
[[email protected] ~]# ll /opt/kubernetes/cfg/kubelet.conf
-rw-r--r-- 1 root root 382 Apr 3 15:48 /opt/kubernetes/cfg/kubelet.conf
[[email protected] ~]# cat /opt/kubernetes/cfg/kubelet.conf
KUBELET_OPTS="--logtostderr=false \
--v=2 \
--log-dir=/opt/kubernetes/logs \
--hostname-override=k8s-node1 \
--network-plugin=cni \
--kubeconfig=/opt/kubernetes/cfg/kubelet.kubeconfig \
--bootstrap-kubeconfig=/opt/kubernetes/cfg/bootstrap.kubeconfig \
--config=/opt/kubernetes/cfg/kubelet-config.yml \
--cert-dir=/opt/kubernetes/ssl \
--pod-infra-container-image=ibmcom/pause-amd64:3.1"
[[email protected] ~]# ll /opt/kubernetes/cfg/kube-proxy-config.yml
-rw-r--r-- 1 root root 320 Apr 3 15:48 /opt/kubernetes/cfg/kube-proxy-config.yml
[[email protected] ~]# cat /opt/kubernetes/cfg/kubelet.conf
KUBELET_OPTS="--logtostderr=false \
--v=2 \
--log-dir=/opt/kubernetes/logs \
--hostname-override=k8s-node1 \
--network-plugin=cni \
--kubeconfig=/opt/kubernetes/cfg/kubelet.kubeconfig \
--bootstrap-kubeconfig=/opt/kubernetes/cfg/bootstrap.kubeconfig \
--config=/opt/kubernetes/cfg/kubelet-config.yml \
--cert-dir=/opt/kubernetes/ssl \
--pod-infra-container-image=ibmcom/pause-amd64:3.1"
[[email protected] ~]# cat /opt/kubernetes/cfg/kube-proxy-config.yml
kind: KubeProxyConfiguration
apiVersion: kubeproxy.config.k8s.io/v1alpha1
bindAddress: 0.0.0.0
metricsBindAddress: 0.0.0.0:10249
clientConnection:
kubeconfig: /opt/kubernetes/cfg/kube-proxy.kubeconfig
hostnameOverride: k8s-node1
clusterCIDR: 10.244.0.0/16
mode: ipvs
ipvs:
scheduler: "rr"
iptables:
masqueradeAll: true
[[email protected] ~]# ll /opt/kubernetes/cfg/kubelet.kubeconfig
ls: cannot access /opt/kubernetes/cfg/kubelet.kubeconfig: No such file or directory
[[email protected] ~]# ll /opt/kubernetes/ssl/kubelet*
ls: cannot access /opt/kubernetes/ssl/kubelet*: No such file or directory注:bootstrap.kubeconfig 那里面是 master 的地址。
启动kubelet
#此操作在k8s-node1上进行
[[email protected] ~]# systemctl daemon-reload && systemctl start kubelet && systemctl enable kubelet && systemctl status kubelet
....批准新Node证书申请
#此操作在Master(k8s-master)上进行
#查看新的证书请求,状态为Pending
[[email protected] cfg]# kubectl get csr
NAME AGE SIGNERNAME REQUESTOR REQUESTEDDURATION CONDITION
node-csr-6mDDHTg4HuOsVY_7oJRUqtS-6YQFe7JytpYdbRs9kek 31m kubernetes.io/kube-apiserver-client-kubelet kubelet-bootstrap <none> Approved,Issued
node-csr-ktjmR4VegWx92ELE3IskISfkdatpXBTKBrq8ZOCVObc 56s kubernetes.io/kube-apiserver-client-kubelet kubelet-bootstrap <none> Pending
#批准新的请求,并加入集群
[[email protected] cfg]# kubectl certificate approve node-csr-ktjmR4VegWx92ELE3IskISfkdatpXBTKBrq8ZOCVObc
certificatesigningrequest.certificates.k8s.io/node-csr-ktjmR4VegWx92ELE3IskISfkdatpXBTKBrq8ZOCVObc approved
#查看证书批准状态
[[email protected] cfg]# kubectl get csr
NAME AGE SIGNERNAME REQUESTOR REQUESTEDDURATION CONDITION
node-csr-6mDDHTg4HuOsVY_7oJRUqtS-6YQFe7JytpYdbRs9kek 31m kubernetes.io/kube-apiserver-client-kubelet kubelet-bootstrap <none> Approved,Issued
node-csr-ktjmR4VegWx92ELE3IskISfkdatpXBTKBrq8ZOCVObc 75s kubernetes.io/kube-apiserver-client-kubelet kubelet-bootstrap <none> Approved,Issued
#查看集群节点
[[email protected] cfg]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master NotReady <none> 30m v1.23.4
k8s-node1 NotReady <none> 14s v1.23.4
# 由于网络插件还没有部署,节点会没有准备就绪 NotReady启动kube-proxy
[[email protected] ~]# systemctl daemon-reload && systemctl start kube-proxy && systemctl enable kube-proxy && systemctl status kube-proxy边栏推荐
- 【backtrader源码解析46】cerebro.py代码注释(枯燥,backtrader核心代码之一,推荐阅读,注释仅供参考)
- [interface] view the interface path and check the interface
- C language - data storage
- What are the profit sources of mother and baby stores?
- ASCII, Unicode, and UTF-8
- Is it safe to open an account online in 2022?
- After Oracle deletes a user, it can still use the user to log in
- 一个时代的终结!十年了吴恩达经典《机器学习》课程本月关闭注册,上线新课!...
- 【bug解决】表单分页,显示总数据res.data.total
- Does it affect children to wear Bluetooth headsets? How to protect children's ear health
猜你喜欢

历史上的今天:Apple II 问世;微软收购 GECAD;发明“软件工程”一词的科技先驱出生...
![[bug resolution] the form is paged to display the total data res.data total](/img/92/1ddde16d35465f8dd53ebf90e249b8.png)
[bug resolution] the form is paged to display the total data res.data total

Log management system, summary in multiple ways

网络信息系统应急响应

4K投影儀哪款性價比最高,當貝X3 Pro高亮128G存儲618值得看

马斯克称自己不喜欢做CEO,更想做技术和设计;吴恩达的《机器学习》课程即将关闭注册|极客头条...

【后台交互】select 绑定后台传递的数据

经营体育馆有哪些要素?

Evolution of e-commerce development

How about Lenovo Xiaoxin 520? Which is more worth buying than dangbei D3x?
随机推荐
Redis RDB and AOF
Unity game protection "big training", read and understand the game's pre defense
2020.10.27 北京阿里大文娱一面总结
火山引擎云数据库 veDB 在字节内部的业务实践
@How to resolve controller and requestmapping
一个时代的终结!十年了吴恩达经典《机器学习》课程本月关闭注册,上线新课!...
pip2pi和pypiserver及Apache在pip本地源配置中的应用实践
苹果将造搜索引擎?
CS structure and BS structure
综合场馆的优势有哪些?
4K投影仪哪款性价比最高,当贝X3 Pro高亮128G存储618值得看
Go microservice restful API design standards and practices
知麻Z1投影仪真的好用吗?实际效果怎么样?
深度学习与CV教程(14) | 图像分割 (FCN,SegNet,U-Net,PSPNet,DeepLab,RefineNet)
4. Locksupport and thread interruption
Master-slave replication of MySQL
[ArcGIS]城市关联度分析
[interface] view the interface path and check the interface
App manual signature of openharmony standard system
UI inspiration analysis Notes 6: feature