Skip to content

kubeadm

参考:https://kubernetes.io/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

安装前配置

  1. 关闭swap

    swapoff  -a
  2. 将所有节点写入 /etc/hosts

安装容器运行时

https://github.com/containerd/containerd/blob/main/docs/getting-started.md

containerd

containerd config default > /etc/containerd/config.toml 重置 containerd 配置

配置 systemd cgroup 驱动

结合 runc 使用 systemd cgroup 驱动,在 /etc/containerd/config.toml 中设置:

[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
  ...
  [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
    SystemdCgroup = true

sudo systemctl restart containerd

修改docker 配置

vi /etc/docker/daemon.json

{
  "exec-opts": ["native.cgroupdriver=systemd"]
}

systemctl daemon-reload systemctl restart docker

安装

参考官方文档

运行

kubeadm init \
 --image-repository registry.aliyuncs.com/google_containers \
 --kubernetes-version v1.22.2 \
 --pod-network-cidr=192.168.0.0/16 \
 --apiserver-advertise-address=192.168.34.2
kubeadm join ...

安装过程中如果出现错误,需要使用 kubeadm reset -f 重置

查询所有节点

kubectl get nodes

如果从节点有异常,注册不上,需要在主节点执行kubectl delete node xx

安装 calico

参考官方文档 https://docs.tigera.io/calico/latest/getting-started/kubernetes/quickstart

kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.1/manifests/tigera-operator.yaml

注意修改成自己的ip

kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.1/manifests/custom-resources.yaml

如果安装过程中出现错误,需要使用 kubectl replace -f xxx ,而不能使用 kubectl apply -f xxx

使用

显示所有pod

kubectl get pods --all-namespaces

删除pod

kubectl delete pod <pod的名称> -n <命名空间>