代码之家  ›  专栏  ›  技术社区  ›  Dr. Andrew

kubectl运行时未创建部署

  •  0
  • Dr. Andrew  · 技术社区  · 2 年前

    我在windows上用docker桌面运行Kubernetes。DD是最新的 kubectl version 命令返回1.22作为客户端和服务器版本。

    我处决了 kubectl run my-apache --image httpd 然后 kubectl get all ,只显示 enter image description here

    没有我预期的部署或复制集。这意味着一些命令,例如 kubectl scale 没用。知道怎么了吗?谢谢

    2 回复  |  直到 2 年前
        1
  •  1
  •   Dashrath Mundkar    2 年前

    这个 kubectl run 命令create pod而不是deployment,我的意思是它过去在kubernetes版本1.18之前就已经创建了。

    对于部署,您已运行此命令

    kubectl create deployment my-apache --image httpd

        2
  •  0
  •   dejanualex    2 年前

    基本上,你可以在默认的名称空间中启动一个pod,如果你想使用deployment部署你的应用程序,你应该有一个 deployment.yml 文件和使用:

    kubectl apply -f <depoyment_file>
    

    旋转3个Nginx吊舱的示例:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-deployment
      labels:
        app: nginx
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx:1.14.2
            ports:
            - containerPort: 80
    

    旁注:创建基本k8s对象时有两种方法:

    • 命令式方式:
    kubectl create deployment <DEPLOYMENT_NAME> --image=<IMAGE_NAME:TAG>
    
    • 声明方式:
    kubectl create -f deployment.yaml