【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

相关推荐
engchina7 小时前
WSL Ubuntu で Kubernetes v1.34.2 + Docker 環境を構築する
ubuntu·docker·kubernetes
Gold Steps.10 小时前
OpenEBS — 云原生 CNS 高性能存储
云原生·kubernetes·存储
大雨淅淅11 小时前
Eureka从入门到精通:开启微服务架构的钥匙
微服务·云原生·eureka·架构
oMcLin11 小时前
2025年必备的Docker命令指南与实战示例
docker·容器·eureka
AtoposのCX33011 小时前
Docker运行hello-world镜像失败或超时
运维·docker
sun cat11 小时前
Docker详细介绍(6)
docker·容器·docker-compose
AI架构全栈开发实战笔记11 小时前
Eureka 对大数据领域服务依赖关系的梳理
大数据·ai·云原生·eureka
Dragon~Snow12 小时前
Linux Centos9 安装 Elasticsearch
linux·elasticsearch·jenkins
小Pawn爷15 小时前
4.镜像仓库
docker
江湖有缘17 小时前
零基础入门:使用 Docker 快速部署 Organizr 个人主页
java·服务器·docker