栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

k8s1.24 FAQ

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

k8s1.24 FAQ

  • k8s1.24版本关于runc的问题

问题报错:
May 12 13:48:30 k8snode2 containerd:
time=“2022-05-12T13:48:30.848749359+08:00” level=error msg=“RunPodSandbox for &PodSandboxMetadata{Name:kube-flannel-ds-8lvs6,Uid:1c0ac5b8-74eb-49b2-842c-bcc00355ddff,Namespace:kube-system,Attempt:0,} failed,
error” error=“failed to create containerd task: failed to create shim task: OCI runtime create failed: unable to retrieve OCI runtime error (open
/run/containerd/io.containerd.runtime.v2.task/k8s.io/029eabb43894ea21e4ac75a43a4f144031ed8946fe748006e8748d1d65843092/log.json: no such file or directory): runc did not terminate successfully: exit status 127: unknown”

  • 解决方法

官网下载 runc 执行文件 替换linux原有的 /user/local/sbin/runc, 赋予执行权限 chmod +x /user/local/sbin/runc

- containerd配置文件需要修改的地方

/etc/containerd/config.toml 

[plugins."io.containerd.grpc.v1.cri"]
    sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.6"
    .....
    [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
      SystemdCgroup = true
	......
    [plugins."io.containerd.grpc.v1.cri".registry]
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
                endpoint = ["https://registry-1.docker.io"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."myharbor.io"]
                endpoint = ["http://myharbor.io"]
      [plugins."io.containerd.grpc.v1.cri".registry.configs]
        [plugins."io.containerd.grpc.v1.cri".registry.configs."myharbor.io".tls]
                insecure_skip_verify = true
        [plugins."io.containerd.grpc.v1.cri".registry.configs."myharbor.io".auth]
      [plugins."io.containerd.grpc.v1.cri".registry.headers]

- cni插件未初始化网络错误,解决办法

mkdir -p /etc/cni/net.d/
cat >/etc/cni/net.d/10-flannel.conflist </run/flannel/subnet.env < 

- 出现kubelet匿名还是集群角色无法认证的问题

May 12 15:58:22 k8snode1 kubelet: W0512 15:58:22.313065    3950 reflector.go:324] vendor/k8s.io/client-go/informers/factory.go:134: failed to list *v1.Service: services is forbidden: User "system:anonymous" cannot list resource "services" in API group "" at the cluster scope
May 12 15:58:22 k8snode1 kubelet: E0512 15:58:22.313093    3950 reflector.go:138] vendor/k8s.io/client-go/informers/factory.go:134: Failed to watch *v1.Service: failed to list *v1.Service: services is forbidden: User "system:anonymous" cannot list resource "services" in API group "" at the cluster scope
May 12 15:58:22 k8snode1 kubelet: E0512 15:58:22.361994    3950 kubelet.go:2419] "Error getting node" err="node "k8snode1" not found"
  • 解决办法
node节点关闭开启的kubelet
# systemctl stop kubelet

master节点
# kubectl delete clusterrolebinding kubelet-bootstrap
clusterrolebinding.rbac.authorization.k8s.io "kubelet-bootstrap" deleted

# kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=system:node-bootstrapper --user=kubelet-bootstrap
clusterrolebinding.rbac.authorization.k8s.io/kubelet-bootstrap created

#node节点开启kubelet
systemctl start kubelet

master节点
# kubectl get csr

- 问题:kube-proxy匿名授权

May 12 19:12:32 k8snode1 kube-proxy: E0512 19:12:32.438837   34504 reflector.go:138] vendor/k8s.io/client-go/informers/factory.go:134: Failed to watch *v1.EndpointSlice: failed to list *v1.EndpointSlice: endpointslices.discovery.k8s.io is forbidden: User "system:anonymous" cannot list resource "endpointslices" in API group "discovery.k8s.io" at the cluster scope
  • 解决方法
kubectl config set-cluster kubernetes 
  --certificate-authority=/data/k8s/ssl/ca.pem 
  --embed-certs=true 
  --server="https://192.168.8.203:6443" 
  --kubeconfig=kube-proxy.kubeconfig

kubectl config set-credentials kube-proxy 
  --client-certificate=/data/k8s/ssl/kube-proxy.pem 
  --client-key=/data/k8s/ssl/kube-proxy-key.pem 
  --embed-certs=true 
  --kubeconfig=kube-proxy.kubeconfig

kubectl config set-context default 
  --cluster=kubernetes 
  --user=kube-proxy 
  --kubeconfig=kube-proxy.kubeconfig

kubectl config use-context default --kubeconfig=kube-proxy.kubeconfig

systemctl restart kube-proxy

- 问题:k8s拉取私有镜像仓库失败处理方法

~/.docker/config.json
让k8s集群具有拉取私有仓库的权限
kubectl create secret generic harbor-registry --from-file=.dockerconfigjson=/root/.docker/config.json --type=kubernetes.io/dockerconfigjson
  • 问题:failed to set bridge addr: could not add IP address to “cni0”: permission denied"
报错信息:
May 14 14:35:27 k8snode4 kubelet: E0514 14:35:27.058422    5161 pod_workers.go:951] "Error syncing pod, skipping" err="failed to "CreatePodSandbox" for "eip-nfs-nfsshare-556ccffc6d-jk8rk_kube-system(7c2fcb44-7df3-4804-a5bb-f5f7dc60b2b6)" with CreatePodSandboxError: "Failed to create sandbox for pod \"eip-nfs-nfsshare-556ccffc6d-jk8rk_kube-system(7c2fcb44-7df3-4804-a5bb-f5f7dc60b2b6)\": rpc error: code = Unknown desc = failed to setup network for sandbox \"24743a13eb6ff7bf972c0f7a25bb6d5860ccafc1eed49b07d6ed6131edaa793d\": plugin type=\"bridge\" failed (add): failed to set bridge addr: could not add IP address to \"cni0\": permission denied"" pod="kube-system/eip-nfs-nfsshare-556ccffc6d-jk8rk" podUID=7c2fcb44-7df3-4804-a5bb-f5f7dc60b2b6
  • 处理方法
导致这个问题是由于cni0网段地址不一致导致网络加入没有权限
mkdir /usr/share/oci-umount/oci-umount.d -p
mkdir /run/flannel/
cat >/run/flannel/subnet.env <
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/894107.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号