用于部署的 Kubectl 命令式命令

Ram*_*ash 5 kubernetes kubectl

我曾经使用命令式命令快速创建部署

kubectl run nginx --image=nginx --restart=Always --port=80 --replicas=3

现在,运行命令与部署似乎已被弃用。有没有其他方法可以对kubectl create...使用副本和端口执行相同的操作?

esb*_*ych 6

从 Kubernetes v1.18 开始kubectl run将不再创建部署,而是创建 Pod。

可以使用的是 的命令式选项kubectl create deployment。所以下面的命令:

k create deploy nginx --image nginx

会为你解决问题的。它将以命令方式创建 Deployment 对象。(不需要中间yaml文件)

# Run:
kubectl create deploy nginx --image nginx && kubectl scale deploy nginx --replicas 3

# Check:
kubectl get deploy
NAME                         READY   UP-TO-DATE   AVAILABLE   AGE
nginx                        3/3     3            3           14s

Run Code Online (Sandbox Code Playgroud)

请注意,没有 的--replicas标志kubectl create deployemnt,因此缩放是单独控制的。


小智 -3

创建包含以下内容的 nginx-deployment.yaml 文件。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - image: nginx
        name: nginx
        ports:
        - containerPort: 80
Run Code Online (Sandbox Code Playgroud)

并运行kubectl create -f nginx-deployment.yaml