gpt4 book ai didi

docker - Pod在单节点Kubernetes集群上处于Pending状态

转载 作者:行者123 更新时间:2023-12-02 21:04:16 24 4
gpt4 key购买 nike

我正在使用YAML文件在托管机器上通过一些复制因素将容器部署在Kubernetes上。

YAML文件

apiVersion: apps/v1
kind: Deployment
metadata:
name: mojo-deployment
labels:
app: mojo
spec:
selector:
matchLabels:
app: mojo
replicas: 3
template:
metadata:
labels:
app: mojo
spec:
containers:
- name: mojo
image: mojo:1.0.1
ports:
- containerPort: 9000

---
#Services Info
apiVersion: v1
kind: Service
metadata:
name: mojo-services
spec:
selector:
app: mojo
ports:
- protocol: TCP
port: 80
targetPort: 9376

---

#Ingress Configuration
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: mojo-ingress
annotations:
kubernetes.io/ingress.class: mojo
spec:
backend:
serviceName: mojo-services
servicePort: 80

脚步:
  • 使用`docker build -t mojo:1.0来构建Docker图像。
  • docker image ls向我显示一个图像ID。
  • 跳过docker build命令以在容器上部署镜像。我需要这样做吗?或kubectl服务将解决此问题。
  • 运行kubectl apply -f Prod.yaml。它显示

  • deployment.apps/mojo-deployment created

    service/mojo-services created

    ingress.networking.k8s.io/mojo-ingress created


  • kubectl get service返回

  • kubectl get pod返回
  • kubectl get deployment返回
    enter image description here

  • 有什么问题吗
  • 部署YAML文件之前是否需要构建容器?我试过了,但是kubernetes仍然没有运行。
  • 为什么所有 Pane 都显示Pending状态。
  • 部署也显示pending状态。
  • 虽然我尝试使用:80访问Ingress,但无法访问它。

  • 编辑

    广告连播说明
    Name:           mojo-deployment-6665bdc557-s57m7
    Namespace: default
    Priority: 0
    Node: <none>
    Labels: app=mojo
    pod-template-hash=6665bdc557
    Annotations: <none>
    Status: Pending
    IP:
    IPs: <none>
    Controlled By: ReplicaSet/mojo-deployment-6665bdc557
    Containers:
    mojo:
    Image: mojo:1.0
    Port: 9000/TCP
    Host Port: 0/TCP
    Environment: <none>
    Mounts:
    /var/run/secrets/kubernetes.io/serviceaccount from default-token-tjx6p
    (ro)
    Conditions:
    Type Status
    PodScheduled False
    Volumes:
    default-token-tjx6p:
    Type: Secret (a volume populated by a Secret)
    SecretName: default-token-tjx6p
    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

    信息
    ---- ------ ---- ---- -------
    警告失败排定70秒(x45超过67m)默认排程器0/1
    节点可用:1个节点不可调度。

    编辑2

    从主节点上移除异味后。
    1. kubectl get node返回


  • kubectl get pod返回


  • kubectl describe node:https://gist.github.com/amixpal/333bffd6ab91def749267f30d4ffb079
  • 最佳答案

    如果只有一个节点(主节点),则通常会向其添加Taint,这将使主节点无法计划。使用以下方法从主节点(和所有其他节点,如果有多个节点)上除去异味。
    kubectl taint nodes --all node-role.kubernetes.io/master-
    编辑:根据节点描述输出,CNI未准备好。
    请确保所有与CNI相关的Pod都在正常运行

    关于docker - Pod在单节点Kubernetes集群上处于Pending状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59015560/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com