K8s报错指南

  1. no matches for kind “Ingress” in version “apps/v1”

    主要是在apps/v1下没有了ingress,需要将appVersion修改为networking.k8s.io/v1beta1

  2. no matches for kind “DaemonSet“ in version “extensions/v1beta1“

    1
    2
    3
    4
    DaemonSet、Deployment、StatefulSet 和 ReplicaSet 在 v1.16 中将不再从 extensions/v1beta1、apps/v1beta1 或 apps/v1beta2 提供服务

    解决方法是:
    将yml配置文件内的api接口修改为 apps/v1 ,导致原因为之间使用的kubernetes 版本是1.14.x版本,1.16.x 版本放弃部分API支持
  3. Back-off restarting failed container

    主要是容器内没有能够保持运行状态的命令,也就是容器启动之后就运行结束,如果再打包镜像的时候没有指定CMD,那么就在k8s的yaml文件中指定command:

    在spec.containers下指定command: ["/bin/bash", "-ce", "tail -f /dev/null"]

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    apiVersion: apps/v1
    kind: Deployment
    spec:
    replicas: 1
    spec:
    containers:
    - image: xxx:v1
    name: xxx
    imagePullPolicy: IfNotPresent
    command: ["/bin/bash", "-ce", "tail -f /dev/null"]
    volumns:
    - name: xxx
    emptyDir: {}