【k8s-1.34.2安装部署】五.worker端containerd2.2.1、kubelet-1.34.2安装

简介

本章节主要讲解k8s-1.34的worker节点组件的安装包括containerd,kubelet,其中containerd又包括了cni-plugins,runc,cri-tools等组件。安装完并进行woker的节点的安装验证

== 文章导航===

【k8s-1.34.2安装部署】一.系统初始化及k8s集群规划
【k8s-1.34.2安装部署】二.kubernets软件、证书、配置、脚本等文件准备
【k8s-1.34.2安装部署】三.etcd-v3.6.6 TLS版集群安装
【k8s-1.34.2安装部署】四.kubernets master组件kube-apiserver,kube-controller-manager,kube-scheduler安装
【k8s-1.34.2安装部署】五.worker端containerd2.2.1、kubelet-1.34.2安装
【k8s-1.34.2安装部署】六.企业级部署cilium-1.18.4网络插件
【k8s-1.34.2安装部署】七.coredns-v1.13.1安装
【k8s-1.34.2安装部署】八.metric-server-0.8.0安装
【k8s-1.34.2安装部署】九.k8s管理平台xkube安装部署
【k8s-1.34.2安装部署】十.gateway Api v1.4.0安装
【k8s-1.34.2安装部署】十一.metallb-v0.15.2安装

一.安装containerd 和 kubelet

1.1. 安装包安装

在第二章时我们准备了containerd的安装包,只需要将containerd下的文件拷贝到根目录/下即可。

复制代码
containerd的目录结构如下:

├── etc
│   ├── containerd
│   │   └── config.toml
│   ├── crictl.yaml
│   └── systemd
│       └── system
│           └── containerd.service
├── opt
│   └── cni
│       └── bin
│           ├── bandwidth
│           ├── bridge
│           ├── dhcp
│           ├── dummy
│           ├── firewall
│           ├── host-device
│           ├── host-local
│           ├── ipvlan
│           ├── LICENSE
│           ├── loopback
│           ├── macvlan
│           ├── portmap
│           ├── ptp
│           ├── README.md
│           ├── sbr
│           ├── static
│           ├── tap
│           ├── tuning
│           ├── vlan
│           └── vrf
└── usr
    └── local
        ├── bin
        │   ├── containerd
        │   ├── containerd-shim-runc-v2
        │   ├── containerd-stress
        │   ├── crictl
        │   └── ctr
        └── sbin
            └── runc
1.2. 安装kubelet

将kubelet.service 拷贝到/usr/lib/systemd/system/下,其余的拷贝到/opt/kubernetes 下。

复制代码
node节点的目录结构如下:

├── bin
│   ├── kubelet
│   └── kube-proxy
├── conf
│   ├── kubelet-bootstrap.kubeconfig
│   ├── kubelet.yaml
├── kubelet.service
├── logs
└── ssl
    ├── ca-key.pem
    ├── ca.pem
1.2.配置主机名映射

修改/etc/hosts,添加如下配置,在安装kubelet上都要配置如下映射,映射中的IP是kube-apiserver的IP,主要是为了kubelet能调通apiserver

复制代码
192.168.10.185 apiserver.my-k8s.local

二.启动containerd、kubelet

在三台机上分别执行如下命令启动master相关组件kube-apiserver、kube-controller-manager、kube-scheduler。kubelet 暂时先不启动,等master相关组件都启动正常以后,安装完containerd以后再启动。注意启动顺序,需要先启动containerd

复制代码
systemctl daemon-reload
systemctl enable containerd
systemctl enable kubelet

systemctl start containerd
systemctl start kubelet

四.验证node相关组件安装是否正常

  1. 执行systemctl status containerdsystemctl status kubelet 查看是否有报错

  2. 在安装了kubect的机器上 执行命令:kubectl get csr 查看刚启动的kubelet 是否有申请到证书,正常执行结果如下:

    NAME AGE SIGNERNAME REQUESTOR REQUESTEDDURATION CONDITION
    node-csr-iHrKsmW7N0FQJ5FfImDh26jGOMQh2Jl6Wg8D7b3hX2Q 67s kubernetes.io/kube-apiserver-client-kubelet kubelet-bootstrap <none> Pending

3.当上一步能看到Pending的证书后,执行命令:kubectl certificate approve node-csr-iHrKsmW7N0FQJ5FfImDh26jGOMQh2Jl6Wg8D7b3hX2Q,执行成功后,再次查看结果如下:

复制代码
NAME                                                   AGE     SIGNERNAME                                    REQUESTOR           REQUESTEDDURATION   CONDITION
node-csr-iHrKsmW7N0FQJ5FfImDh26jGOMQh2Jl6Wg8D7b3hX2Q   10m     kubernetes.io/kube-apiserver-client-kubelet   kubelet-bootstrap   <none>              Approved,Issued

:kubelet 安装启动成功以后会生成如下几个文件:

/opt/kubernetes/conf/kubelet.kubeconfig

/opt/kubernetes/ssl/kubelet.crt

/opt/kubernetes/ssl/kubelet.key

当approve成功会后生成如下文件:

/opt/kubernetes/ssl/kubelet-client-current.pem

相关推荐
小趴菜不能喝2 小时前
Docker 网络
网络·docker·容器
忙里偷闲学python3 小时前
docker
运维·docker·容器
惜.己7 小时前
安装windows版本docker(配置镜像源+拉取运行docker)
运维·docker·容器
极客小云7 小时前
【2026年Docker国内镜像源最新可用清单与配置指南】
运维·docker·容器
忍冬行者8 小时前
kubernetes安装traefik Gateway API,应对Ingress NGINX停止维护
云原生·kubernetes·云计算
AI题库8 小时前
PostgreSQL 18 从新手到大师:实战指南 - 1.3 Docker环境搭建
数据库·docker·postgresql
java_logo8 小时前
Caddy Docker 容器化部署指南
运维·docker·容器·caddy部署·caddy部署文档·caddy部署教程·docker部署caddy
极客小云8 小时前
【Dockerfile 编写最佳实践:优化镜像构建与层缓存】
缓存·docker·k8s
-指短琴长-9 小时前
Docker-Desktop修改WSL文件系统到D盘
docker·容器·eureka