使用 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-3 秒)。
-
在交互式 shell 中执行 kubectl 命令:
kubectl get pods -n ${CURRENT_NAMESPACE}
- 查看实时命令输出。
示例
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}
参考