创建部署问题时,请参考下面模板,你提供的信息越多,越容易及时获得解答。如果未按模板创建问题,管理员有权关闭问题。
确保帖子格式清晰易读,用 markdown code block 语法格式化代码块。
你只花一分钟创建的问题,不能指望别人花上半个小时给你解答。
操作系统信息
例如:虚拟机/物理机,Centos7.9,4C/16G
Kubernetes版本信息
将 kubectl version
命令执行结果贴在下方
kubectl version
Client Version: version.Info{Major:“1”, Minor:“23”, GitVersion:“v1.23.10”, GitCommit:“7e54d50d3012cf3389e43b096ba35300f36e0817”, GitTreeState:“clean”, BuildDate:“2022-08-17T18:32:54Z”, GoVersion:“go1.17.13”, Compiler:“gc”, Platform:“linux/amd64”}
容器运行时
将 docker version
/ crictl version
/ nerdctl version
结果贴在下方
[root@dev008 kubesphere]# docker version
Client: Docker Engine - Community
Version: 20.10.20
API version: 1.41
Go version: go1.18.7
Git commit: 9fdeb9c
Built: Tue Oct 18 18:22:47 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.20
API version: 1.41 (minimum version 1.12)
Go version: go1.18.7
Git commit: 03df974
Built: Tue Oct 18 18:20:56 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.5.10
GitCommit: 2a1d4dbdb2a1030dc5b01e96fb110a9d9f150ecc
runc:
Version: 1.0.3
GitCommit: v1.0.3-0-gf46b6ba
docker-init:
Version: 0.19.0
GitCommit: de40ad0
[root@dev008 kubesphere]# crictl version
-bash: crictl: command not found
[root@dev008 kubesphere]# nerdctl version
-bash: nerdctl: command not found
KubeSphere版本信息
例如:在线安装 v3.4.0。在已有K8s上安装还是使用kk安装。
问题是什么
报错日志是什么,最好有截图。
使用kk 创建了 三个节点的 k8s集群,安装后
[root@dev009 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
dev008 Ready control-plane,master,worker 5h54m v1.23.10
dev009 Ready control-plane,master,worker 5h53m v1.23.10
dev010 Ready control-plane,master,worker 5h53m v1.23.10
但是 有的容器 如 kube-controller-manager 、 kube-scheduler 状态会变成Error
比如:
[root@dev009 ~]# kubectl get pod -A|grep -v Run
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system kube-scheduler-dev009 0/1 CreateContainerError 1 (9m33s ago) 6m13s
—
查看容器描述信息如下
[root@dev010 ~]# kubectl describe pod -n kube-system kube-scheduler-dev009
Name: kube-scheduler-dev009
Namespace: kube-system
Priority: 2000001000
Priority Class Name: system-node-critical
Node: dev009/172.17.151.109
Start Time: Thu, 23 Nov 2023 08:16:16 +0800
Labels: component=kube-scheduler
tier=control-plane
Annotations: kubernetes.io/config.hash: 155c35668a54d5a7c9b41c18547838f6
kubernetes.io/config.mirror: 155c35668a54d5a7c9b41c18547838f6
kubernetes.io/config.seen: 2023-11-23T08:16:15.397137754+08:00
kubernetes.io/config.source: file
seccomp.security.alpha.kubernetes.io/pod: runtime/default
Status: Running
IP: 172.17.151.109
IPs:
IP: 172.17.151.109
Controlled By: Node/dev009
Containers:
kube-scheduler:
Container ID: docker://8eadaa85fa828a8adcbff511a5319d93c997306270236ec647aab9ed9b3033d5
Image: kubesphere/kube-scheduler:v1.23.10
Image ID: docker-pullable://kubesphere/kube-scheduler@sha256:07d72b53818163ad25b49693a0b9d35d5eb1d1aa2e6363f87fac8ab903164a0e
Port: <none>
Host Port: <none>
Command:
kube-scheduler
--authentication-kubeconfig=/etc/kubernetes/scheduler.conf
--authorization-kubeconfig=/etc/kubernetes/scheduler.conf
--bind-address=0.0.0.0
--feature-gates=RotateKubeletServerCertificate=true,TTLAfterFinished=true,ExpandCSIVolumes=true,CSIStorageCapacity=true
--kubeconfig=/etc/kubernetes/scheduler.conf
--leader-elect=true
State: Waiting
Reason: CreateContainerError
Last State: Terminated
Reason: Error
Exit Code: 1
Started: Thu, 23 Nov 2023 08:16:22 +0800
Finished: Thu, 23 Nov 2023 00:27:38 +0800
Ready: False
Restart Count: 1
Requests:
cpu: 100m
Liveness: http-get https://:10259/healthz delay=10s timeout=15s period=10s #success=1 #failure=8
Startup: http-get https://:10259/healthz delay=10s timeout=15s period=10s #success=1 #failure=24
Environment: <none>
Mounts:
/etc/kubernetes/scheduler.conf from kubeconfig (ro)
Conditions:
Type Status
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
kubeconfig:
Type: HostPath (bare host directory volume)
Path: /etc/kubernetes/scheduler.conf
HostPathType: FileOrCreate
QoS Class: Burstable
Node-Selectors: <none>
Tolerations: :NoExecute op=Exists
Events:
Type Reason Age From Message
Normal Pulled 5h56m kubelet Container image “kubesphere/kube-scheduler:v1.23.10” already present on machine
Normal Created 5h56m kubelet Created container kube-scheduler
Normal Started 5h56m kubelet Started container kube-scheduler
Normal Created 11m (x2 over <invalid>) kubelet Created container kube-scheduler
Normal Started 11m (x2 over <invalid>) kubelet Started container kube-scheduler
Warning Failed 8m57s (x4 over 11m) kubelet Error: Error response from daemon: Conflict. The container name “/k8s_kube-scheduler_kube-scheduler-dev009_kube-system_155c35668a54d5a7c9b41c18547838f6_2” is already in use by container “ad0dca399b71e6120037f2041ff1db765d94f887cf7ff34a56894907a5e60b53”. You have to remove (or rename) that container to be able to reuse that name.
Warning BackOff 8m22s (x12 over 10m) kubelet Back-off restarting failed container
Normal Pulled 4m10s (x18 over <invalid>) kubelet Container image “kubesphere/kube-scheduler:v1.23.10” already present on machine
Normal SandboxChanged <invalid> kubelet Pod sandbox changed, it will be killed and re-created.
—
但是经排查 没有找到 (通过 kubectl get pod / docker ps -a )相关的 container 。
—