pod管理

k8s pod常见操作

一键删除pod状态为Terminating的POD
kubectl get pods |grep Terminating |awk -F " " '{print$1}'|xargs -n 1 kubectl delete pods --force --grace-period 0
横向扩容

横向扩容有两种方式,使用命令或yaml文件

手动扩容
kubectl scale <资源类型> <资源名字> --replicas <副本数量> 将pod的副本书保持到指定数量

例子:kubectl scale deployment webhook –replicas 2 将test的副本数扩容到2

自动横向扩容(HPA)

命令行
kubectl autoscale <资源类型> <资源名字> --min=<最小副本> --max=<最大副本> --cpu-percent=<CPU阈值> -n <namespace>

kubectl get hpa

kubectl describe hpa <hpa名字>

kubectl deleted hpa <hpa名字>  删除hpa
配置文件形式
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: productpage-v1 # hpa名字
  namespace: default
spec:
  scaleTargetRef:
    apiVersion: apps/v1beta1
    kind: Deployment
    name: productpage-v1
  minReplicas: 1
  maxReplicas: 8
  metrics:
  - type: Resource
    resource:
      name: memory
      targetAverageUtilization: 50
  - type: Resource
    resource:
      name: cpu
      targetAverageUtilization: 50