使用 CLI 工具创建应用

kubectl 是与 Kubernetes 集群交互的主要命令行接口(CLI)。它作为 Kubernetes API 服务器的客户端运行——一个 RESTful HTTP API,作为控制平面的编程接口。所有 Kubernetes 操作都通过 API 端点公开,而 kubectl 本质上将 CLI 命令转换为相应的 API 请求,以管理集群资源和应用工作负载(如 Deployments、StatefulSets 等)。

CLI 工具通过智能解析输入工件(如镜像或 Helm Chart 等)并生成相应的 Kubernetes API 对象来简化应用部署。生成的资源根据输入类型的不同而有所变化:

  • 镜像:直接创建 Deployment。
  • Chart:实例化 Helm Chart 中定义的所有对象。

前提条件

已安装 ACP Web Terminal 插件,并启用了 web-cli 开关。

操作步骤

  1. 容器平台 中,点击右下角的终端图标。

  2. 等待会话初始化(1-3 秒)。

  3. 在交互式 shell 中执行 kubectl 命令:

   kubectl get pods -n ${CURRENT_NAMESPACE}
  1. 查看实时命令输出。

示例

YAML

# webapp.yaml
apiVersion: app.k8s.io/v1beta1
kind: Application
metadata:
  name: webapp
spec:
  componentKinds:
    - group: apps
      kind: Deployment
    - group: ""
      kind: Service
  descriptor: {}

# webapp-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: webapp
  labels:
    app: webapp
    env: prod
spec:
  replicas: 3
  selector:
    matchLabels:
      app: webapp
  template:
    metadata:
      labels:
        app: webapp
        tier: frontend
    spec:
      containers:
      - name: webapp
        image: nginx:1.25-alpine
        ports:
        - containerPort: 80
        resources:
          requests:
            cpu: "100m"
            memory: "128Mi"
          limits:
            cpu: "250m"
            memory: "256Mi"
---
# webapp-service.yaml
apiVersion: v1
kind: Service
metadata:
  name: webapp-service
spec:
  selector:
    app: webapp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: ClusterIP

kubectl 命令

kubectl apply -f webapp.yaml -n {CURRENT_NAMESPACE}
kubectl apply -f webapp-deployment.yaml -n {CURRENT_NAMESPACE}
kubectl apply -f webapp-service.yaml -n {CURRENT_NAMESPACE}

参考