opensuse配置k0s

  • k0s管理镜像工具nerdctl

```shell
sudo su
# 手动拉取镜像
k0s kubectl get pods --all-namespaces
# NAMESPACE     NAME                              READY   STATUS              RESTARTS   AGE
# kube-system   metrics-server-7446cc488c-qxz4t   0/1     Pending             0          4h9m
# kube-system   coredns-7bf57bcbd8-2r6gr          0/1     Pending             0          4h9m
# kube-system   kube-proxy-f82w4                  0/1     ContainerCreating   0          4h9m
# kube-system   kube-router-rhvvp                 0/1     Init:0/2            0          4h9m
k0s kubectl describe pods/metrics-server-7446cc488c-qxz4t -n kube-system|grep Image:
k0s kubectl describe pods/kube-proxy-f82w4 -n kube-system|grep Image:
k0s kubectl describe pods/kube-router-rhvvp -n kube-system|grep Image:
k0s kubectl describe pods/coredns-747bdcfcc5-l7n49 -n kube-system|grep Image:
k0s kubectl describe pods/metrics-server-fd869c6b5-vqhkq -n kube-system|grep Image:
# 对应pod缺少的镜像
# registry.k8s.io/metrics-server/metrics-server:v0.6.2
# docker.io/coredns/coredns:1.10.1
# registry.k8s.io/kube-proxy:v1.26.2
# docker.io/cloudnativelabs/kube-router:v1.5.1
registry.k8s.io/pause:3.6





export CONTAINERD_NAMESPACE=k8s.io
export CONTAINERD_ADDRESS=unix:///run/k0s/containerd.sock
# 拉取镜像并重新标签
./nerdctl pull anjia0532/google-containers.metrics-server.metrics-server:v0.6.2
./nerdctl tag 0542aeb0025f registry.k8s.io/metrics-server/metrics-server:v0.6.2

./nerdctl pull docker.io/coredns/coredns:1.10.1
#
./nerdctl pull linode/kube-proxy:v1.26.2
./nerdctl tag linode/kube-proxy:v1.26.2 registry.k8s.io/kube-proxy:v1.26.2

./nerdctl pull docker.io/cloudnativelabs/kube-router:v1.5.1
./nerdctl pull quay.io/k0sproject/cni-node:1.1.1-k0s.0

./nerdctl pull aiotceo/pause:3.6
./nerdctl tag aiotceo/pause:3.6 registry.k8s.io/pause:3.6
# 查看镜像
./nerdctl images
# 重启服务
k0s kubectl get deployment --all-namespaces
k0s kubectl rollout restart deployment metrics-server -n kube-system
k0s kubectl rollout restart deployment coredns -n kube-system
# 配置文件
k0s config create > ./k0s.yaml
# 需要下载的镜像列表
k0s airgap list-images -c ./k0s.yaml
# 下载镜像
sudo k0s airgap list-images | xargs -n1 sudo nerdctl -H /var/run/docker/containerd/containerd.sock -n k8s.io pull

sudo nerdctl -H /var/run/docker/containerd/containerd.sock -n k8s.io images
# 1.通过配置文件安装服务
sudo k0s install controller -c ./k0s.yaml