kubectl 运行 未创建部署

kubectl run not creating deployment

我是 运行 Kubernetes,在 windows 上有 docker 个桌面。 DD为up-to-date,kubectl version命令returns 1.22为客户端和服务器版本。

我执行了kubectl run my-apache --image httpd,然后kubectl get all,只显示

没有像我预期的那样部署或复制集。这意味着一些命令,例如 kubectl scale 不起作用。知道出了什么问题吗?谢谢。

您基本上是在默认命名空间中启动一个 pod,如果您想使用 deployment 部署您的应用程序,您应该有一个 deployment.yml 文件并使用 :

kubectl apply -f <depoyment_file>

示例 spin-up 3 Nginx pods:

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

kubectl run命令create pod not deployment,我的意思是它在kubernetes 1.18版本之前我猜是用来创建的。

对于部署,您有 运行 这个命令

kubectl create deployment my-apache --image httpd