Goi*_*nas 6 kubernetes weave kubectl
我对Kubernetes的所有事物都是陌生的,因此仍然有很多东西需要学习。
已经创建了两个节点的Kubernetes集群,并且两个节点(主节点和工作节点)都准备好进行工作,这很好:
[monkey@k8s-dp1 nginx-test]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-dp1 Ready master 2h v1.9.1
k8s-dp2 Ready <none> 2h v1.9.1
Run Code Online (Sandbox Code Playgroud)
此外,所有Kubernetes Pod看起来都不错:
[monkey@k8s-dp1 nginx-test]# kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system etcd-k8s-dp1 1/1 Running 0 2h
kube-system kube-apiserver-k8s-dp1 1/1 Running 0 2h
kube-system kube-controller-manager-k8s-dp1 1/1 Running 0 2h
kube-system kube-dns-86cc76f8d-9jh2w 3/3 Running 0 2h
kube-system kube-proxy-65mtx 1/1 Running 1 2h
kube-system kube-proxy-wkkdm 1/1 Running 0 2h
kube-system kube-scheduler-k8s-dp1 1/1 Running 0 2h
kube-system weave-net-6sbbn 2/2 Running 0 2h
kube-system weave-net-hdv9b 2/2 Running 3 2h
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试在集群中创建新的部署,则会创建该部署,但是其pod无法进入适当的RUNNING状态。例如
[monkey@k8s-dp1 nginx-test]# kubectl apply -f https://k8s.io/docs/tasks/run-application/deployment.yaml
deployment "nginx-deployment" created
[monkey@k8s-dp1 nginx-test]# kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default nginx-deployment-569477d6d8-f42pz 0/1 ContainerCreating 0 5s
default nginx-deployment-569477d6d8-spjqk 0/1 ContainerCreating 0 5s
kube-system etcd-k8s-dp1 1/1 Running 0 3h
kube-system kube-apiserver-k8s-dp1 1/1 Running 0 3h
kube-system kube-controller-manager-k8s-dp1 1/1 Running 0 3h
kube-system kube-dns-86cc76f8d-9jh2w 3/3 Running 0 3h
kube-system kube-proxy-65mtx 1/1 Running 1 2h
kube-system kube-proxy-wkkdm 1/1 Running 0 3h
kube-system kube-scheduler-k8s-dp1 1/1 Running 0 3h
kube-system weave-net-6sbbn 2/2 Running 0 2h
kube-system weave-net-hdv9b 2/2 Running 3 2h
Run Code Online (Sandbox Code Playgroud)
我不确定如何找出问题所在,但是例如kubectl get ev,如果执行a ,则可以看到以下可疑事件:
<invalid> <invalid> 1 nginx-deployment-569477d6d8-f42pz.15087c66386edf5d Pod
Warning FailedCreatePodSandBox kubelet, k8s-dp2 Failed create pod sandbox.
Run Code Online (Sandbox Code Playgroud)
但是我不知道从这里去哪里。我还可以看到,nginx docker映像本身从未出现在中docker images。
我如何查找有关该问题的更多信息?我是否在kubernetes设置中缺少基本知识?
-新信息-
有关背景信息以防万一...
Kubernetes节点在Windows 10 hyper-v上托管的CentOS 7 VM上运行。
-新信息-
正在运行kubectl describe pods显示以下警告:
Warning NetworkNotReady 1m kubelet, k8s-dp2 network is not ready: [runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized]
Run Code Online (Sandbox Code Playgroud)
-新信息-
在白天工作时间结束后的夜晚关闭了运行Kubernetes的Hyper-v VM,今天早晨我回到办公室后,我再次打开Kubernetes VM的电源以继续运行,并执行了大约15分钟的命令:
kubectl get pods --all-namespaces仍显示ContainerCreating与昨天相同的Nginx Pod,但现在,该命令现在显示所有Pod Running包括Nginx Pod ...即,在完全重新启动主节点VM和工作节点VM之后,问题得以解决。
现在,我再次进行了一次完全重新引导,所有pod均显示为Running,这很好。
her*_*ger 10
只是分享这个命令对找出我的 ContainerCreating Status 问题有很大帮助:
kubectl get events --sort-by=.metadata.creationTimestamp
Run Code Online (Sandbox Code Playgroud)
对同时运行Kubernetes主节点和Kubernetes工作节点的两个VM进行完全重启,所有Pod都显示为Running(注意:第一次重启后,所涉及的Pod进入Running状态大约需要15-20分钟,并且,在随后的重新启动过程中,相关的Pod进入Running状态的速度相对要快得多(3-5分钟)。
| 归档时间: |
|
| 查看次数: |
19693 次 |
| 最近记录: |