📅  最后修改于: 2023-12-03 15:32:31.687000             🧑  作者: Mango
kubectl apply
是 Kubernetes 的一个命令,用于在集群中创建或更新资源对象。它可以让开发人员在不必手动编写 YAML 或者 JSON 文件的情况下,快速创建或更新资源对象。
适用于以下场景:
以下示例演示如何使用 kubectl apply
来创建或更新 my-deployment
部署资源对象:
cat <<EOF | kubectl apply -f - apiVersion: apps/v1 kind: Deployment metadata: name: my-deployment spec: replicas: 3 template: metadata: labels: app: my-app spec: containers: - name: my-container image: nginx:1.14.2 ports: - containerPort: 80 EOF
在上述代码中,我们使用 `-f` 标志并指定一个 YAML 文件,来创建或更新 Kubernetes 集群中的部署资源对象。此时,`my-deployment` 部署将会拥有一个名为 `my-container` 的 Pod。
如果需要对某些属性进行更改,则需要使用 `-f` 标志结合 YAML 文件对资源对象进行更改。例如,下面的示例将更改之前创建的 `my-deployment` 中的 `replicas` 数量为 `5`:
```markdown
cat <<EOF | kubectl apply -f - apiVersion: apps/v1 kind: Deployment metadata: name: my-deployment spec: replicas: 5 template: metadata: labels: app: my-app spec: containers: - name: my-container image: nginx:1.14.2 ports: - containerPort: 80 EOF
在上述代码中,我们对 `my-deployment` 部署的 `replicas` 数量进行更新,并使用 `-f` 标志结合 YAML 文件对其进行更改。
## 总结
`kubectl apply` 是 Kubernetes 的一个非常有用的命令,可以让开发人员在集群中快速创建或更新资源对象。与手动编写 YAML 或 JSON 文件相比,使用 `kubectl apply` 更加方便和快捷。