containerd安装kubelet单节点比便于加入集群
时间: 2025-05-02 20:49:09 浏览: 23
### 安装Containerd和Kubelet于单一节点
对于希望简化加入Kubernetes集群过程的情况,在单个节点上安装`containerd`作为容器运行时以及`kubelet`是常见做法。这不仅适用于开发环境也适合某些特定生产场景。
#### 准备工作
确保操作系统是最新的,并已启用必要的内核模块:
```bash
sudo apt-get update && sudo apt-get upgrade -y
sudo modprobe overlay
sudo modprobe br_netfilter
```
设置系统参数以允许桥接流量转发并启动iptables检查:
```bash
cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
```
应用更改:
```bash
sudo sysctl --system
```
#### Containerd安装
下载官方脚本用于自动化部署流程,此方法能减少手动操作带来的错误风险[^1]:
```bash
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/containerd-archive-keyring.gpg
echo \
"deb [signed-by=/usr/share/keyrings/containerd-archive-keyring.gpg] https://download.containerd.io $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/containerd.list > /dev/null
sudo apt-get update
sudo apt-get install containerd.io -y
```
配置Containerd服务端口监听地址与沙盒镜像路径:
```bash
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
```
重启Containerd使新配置生效:
```bash
sudo systemctl restart containerd
```
#### Kubelet安装
同样通过APT源获取最新版本的Kubelet软件包,同时也要安装`kubectl`工具方便后续管理集群:
```bash
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
```
锁定这些组件防止意外升级影响稳定性:
```bash
sudo apt-mark hold kubelet kubeadm kubectl
```
最后一步初始化Kubernetes控制平面之前,移除默认taint阻止调度pod至master节点的行为,使得该节点能够正常接收负载:
```bash
sudo kubeadm init phase certs all
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl taint nodes --all node-role.kubernetes.io/control-plane-
```
完成上述步骤之后,便可以在本地环境中拥有一个功能完备的Kubernetes集群了。值得注意的是这里展示的过程针对Ubuntu Linux发行版进行了优化调整;其他Linux变体可能需要适当修改命令细节来匹配各自特性。
阅读全文
相关推荐

















