📜  kubectl apply (1)

📅  最后修改于: 2023-12-03 15:32:31.687000             🧑  作者: Mango

kubectl apply

kubectl apply 是 Kubernetes 的一个命令,用于在集群中创建或更新资源对象。它可以让开发人员在不必手动编写 YAML 或者 JSON 文件的情况下,快速创建或更新资源对象。

应用范围

适用于以下场景:

  • 在 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` 更加方便和快捷。