通过 CLI 工具创建应用
kubectl
是与 Kubernetes 集群交互的主要命令行界面(CLI)。它作为 Kubernetes API Server 的客户端——一个 RESTful HTTP API,作为控制平面的编程接口。所有 Kubernetes 操作均通过 API 端点暴露,kubectl
本质上将 CLI 命令转换为相应的 API 请求,以管理集群资源和应用工作负载(Deployments、StatefulSets 等)。
该 CLI 工具通过智能解析输入的工件(镜像,或 Chart 等)来促进应用部署,并生成相应的 Kubernetes API 对象。生成的资源根据输入类型有所不同:
- Image:直接创建 Deployment。
- Chart:实例化 Helm Chart 中定义的所有对象。
目录
前提条件
已安装 Alauda Container Platform Web Terminal 插件,并启用了 web-cli 开关。
操作步骤
-
在 Container Platform 中,点击右下角的终端图标。
-
等待会话初始化(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}
参考