常见k8s 安装部署错误解决

1、no matches for kind "Deployment" in version "extensions/v1beta1"

0x00 Problem

[root@k8sm90 demo]# kubectl create -f tomcat-deployment.yaml
error: unable to recognize "tomcat-deployment.yaml": no matches for kind "Deployment" in version "extensions/v1beta1"

0x01 Solution

修改 apiVersion 选项: apps/v1

[root@k8sm90 demo]# cat tomcat-deployment.yaml
apiVersion: apps/v1
kind: Deployment
...

因为我的 k8s 版本是 1.16.9,在这个版本中 Deployment 已经从 extensions/v1beta1 弃用

DaemonSet, Deployment, StatefulSet, and ReplicaSet resources will no longer be served from extensions/v1beta1, apps/v1beta1, or apps/v1beta2 by default in v1.16.

Kubernetes v1.16 于 2019 年 9 月发布,大家最需要关注的是部分API将弃用。
v1.16.0 对以下四种类型资源的 API 做出调整


    NetworkPolicy

    PodSecurityPolicies

    Ingress

    DaemonSet, Deployment, StatefulSet 和 ReplicaSet
  1.  

API 具体调整细节如下
  

DaemonSet, Deployment, StatefulSet 和 ReplicaSet 从 extensions/v1beta1 改用 apps/v1;apps/v1 从 v1.9 版本开始提供API。

NetworkPolicies 从 extensions/v1beta1 改用 networking.k8s.io/v1;networking.k8s.io/v1 从 v1.8 版本开始提供API。

PodSecurityPolicies 从 extensions/v1beta1 改用 policy/v1beta1;policy/v1beta1 从 v1.10 版本开始提供API。

Ingress 从 extensions/v1beta1 改用 networking.k8s.io/v1beta1;networking.k8s.io/v1beta1 从v1.14 版本开始提供API。

 

2、k8s创建Deployment报错:missing required field “selector“ in io.k8s.api.apps.v1.DeploymentSpec

报错类型:

    [root@master ~]# kubectl create -f lzb-test.yaml
    error: error validating "lzb-test.yaml": error validating data: ValidationError(Deployment.spec): missing required field "selector" in io.k8s.api.apps.v1.DeploymentSpec; if you choose to ignore these errors, turn validation off with --validate=false

解决:

同样是修改yaml文件

    apiVersion: apps/v1
    kind: Deployment
    metadata:
     name: kube100-site
    spec:
     replicas: 2
     template:
      metadata:
       labels:
        app: web

修改为

    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
     name: kube100-site
    spec:
     replicas: 2
     selector:
      matchLabels:
       app: kube100-site
     template:

 

常见k8s 安装部署错误解决_第1张图片

你可能感兴趣的:(深度学习)