kubernetes - kubernetes 为 echo 服务器抛出 CrashLoopBackOff
问题描述
我想在我的 kubernetes 集群上部署启动镜像。
我在一个集群中有三个覆盆子
> kubectl version -o json ~
{
"clientVersion": {
"major": "1",
"minor": "18",
"gitVersion": "v1.18.2",
"gitCommit": "52c56ce7a8272c798dbc29846288d7cd9fbae032",
"gitTreeState": "clean",
"buildDate": "2020-04-16T11:56:40Z",
"goVersion": "go1.13.9",
"compiler": "gc",
"platform": "linux/arm"
},
"serverVersion": {
"major": "1",
"minor": "18",
"gitVersion": "v1.18.2",
"gitCommit": "52c56ce7a8272c798dbc29846288d7cd9fbae032",
"gitTreeState": "clean",
"buildDate": "2020-04-16T11:48:36Z",
"goVersion": "go1.13.9",
"compiler": "gc",
"platform": "linux/arm"
}
}
> docker -v ~
Docker version 19.03.8, build afacb8b
> kubectl get node ~
NAME STATUS ROLES AGE VERSION
master-pi4 Ready master 18h v1.18.2
node1-pi4 Ready <none> 17h v1.18.2
node2-pi3 Ready <none> 17h v1.18.2
要尝试一下,我想部署简单的图像,但出现错误CrashLoopBackOff
> kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4
> kubectl get pods ~
NAME READY STATUS RESTARTS AGE
hello-node-7bf657c596-wc5r4 0/1 CrashLoopBackOff 7 15m
描述对我来说也很神秘
kubectl describe pod hello-node ~
Name: hello-node-7bf657c596-wc5r4
Namespace: default
Priority: 0
Node: node1-pi4/192.168.188.11
Start Time: Wed, 13 May 2020 15:02:10 +0200
Labels: app=hello-node
pod-template-hash=7bf657c596
Annotations: <none>
Status: Running
IP: 10.32.0.4
IPs:
IP: 10.32.0.4
Controlled By: ReplicaSet/hello-node-7bf657c596
Containers:
echoserver:
Container ID: docker://841beb3a675963ecb40569439e0575a29c5b9f48aaa967da8c011faeafd96acc
Image: k8s.gcr.io/echoserver:1.4
Image ID: docker-pullable://k8s.gcr.io/echoserver@sha256:5d99aa1120524c801bc8c1a7077e8f5ec122ba16b6dda1a5d3826057f67b9bcb
Port: <none>
Host Port: <none>
State: Waiting
Reason: CrashLoopBackOff
Last State: Terminated
Reason: Error
Exit Code: 1
Started: Wed, 13 May 2020 15:18:03 +0200
Finished: Wed, 13 May 2020 15:18:03 +0200
Ready: False
Restart Count: 8
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-wvbzk (ro)
Conditions:
Type Status
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
default-token-wvbzk:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-wvbzk
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled <unknown> default-scheduler Successfully assigned default/hello-node-7bf657c596-wc5r4 to node1-pi4
Normal Pulled 15m (x5 over 16m) kubelet, node1-pi4 Container image "k8s.gcr.io/echoserver:1.4" already present on machine
Normal Created 15m (x5 over 16m) kubelet, node1-pi4 Created container echoserver
Normal Started 15m (x5 over 16m) kubelet, node1-pi4 Started container echoserver
Warning BackOff 112s (x70 over 16m) kubelet, node1-pi4 Back-off restarting failed container
我错过了什么?
解决方案
这可能是因为此映像与 ARM 架构不兼容。
您应该改用此图像k8s.gcr.io/echoserver-arm:1.8
推荐阅读
- r - 计算R中数字的有效数字
- python - Python Pandas:使用基于不同列中的分类值的计算创建新列
- c# - 获取存储在 DB 中的 XML 的某些部分 - ASP.NET
- java - 有没有办法在 android studio 项目中找到服务器的端口?
- vue.js - Vue.js 动态组件渲染“无法解析指令”
- regex - 下面两个代表0到100的正则表达式有什么区别?
- javascript - 多维 javascript 数组仅影响 forEach 中的最后一个数组
- react-native-navigation - SideMenu 布局示例 react-native-navigation v2
- c++ - 如何遍历几个小时的 ROOT (.root) 文件并将它们组合成更大的每日数据 .root 文件?
- asp.net - 除了 Owin 之外,还有其他东西可以作为中间件进行身份验证吗?