deploymentlisted
Install: claude install-skill ryukyagamilight/terminal-skills
# Deployment 管理
## 概述
Deployment 滚动更新、回滚、扩缩容等技能。
## 基础操作
### 查看 Deployment
```bash
# 列出 Deployment
kubectl get deployments
kubectl get deploy -o wide
kubectl get deploy -n namespace
# 详细信息
kubectl describe deploy deployment-name
kubectl get deploy deployment-name -o yaml
```
### 创建 Deployment
```yaml
# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.20
ports:
- containerPort: 80
resources:
requests:
memory: "64Mi"
cpu: "100m"
limits:
memory: "128Mi"
cpu: "200m"
```
```bash
kubectl apply -f deployment.yaml
kubectl create deployment nginx --image=nginx:1.20 --replicas=3
```
### 删除 Deployment
```bash
kubectl delete deploy deployment-name
kubectl delete -f deployment.yaml
```
## 扩缩容
```bash
# 手动扩缩容
kubectl scale deploy deployment-name --replicas=5
# 自动扩缩容 (HPA)
kubectl autoscale deploy deployment-name --min=2 --max=10 --cpu-percent=80
# 查看 HPA
kubectl get hpa
kubectl describe hpa deployment-name
```
### HPA 配置
```yaml
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: nginx-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: nginx-deployment
minReplicas: 2
maxRepl