美文网首页CKA认证
【K8s 精选】CKA - Application 扩容和缩容

【K8s 精选】CKA - Application 扩容和缩容

作者: 熊本极客 | 来源:发表于2022-02-28 21:47 被阅读0次

1.Deployment 扩缩容

1.1 手动扩缩容

# 查看 Deployment
$kubectl get deployment/nginx-deployment
NAME               DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
nginx-deployment   3         3         3            3           36s

# 查看 Pod
$kubectl get pods |grep nginx-deployment
NAME                                READY     STATUS    RESTARTS   AGE
nginx-deployment-1564180365-khku8   1/1       Running   0          50s
nginx-deployment-1564180365-nacti   1/1       Running   0          50s
nginx-deployment-1564180365-z9gth   1/1       Running   0          50s

# 扩容 Deployment
$kubectl scale deployment/nginx-deployment --replicas=5
deployment.apps/nginx-deployment scaled
$kubectl get pods |grep nginx-deployment
NAME                                READY     STATUS    RESTARTS   AGE
nginx-deployment-1564180365-khku8   1/1       Running   0          50s
nginx-deployment-1564180365-nacti   1/1       Running   0          50s
nginx-deployment-1564180365-z9gth   1/1       Running   0          50s
nginx-deployment-1564180365-t5iuh   1/1       Running   0          12s
nginx-deployment-1564180365-fv8yt   1/1       Running   0          12s

1.2 自动扩缩容

前提条件:集群启用 Horizontal Pod Autoscaler

# 根据 CPU 80% 的利用率,动态设置 Pod 个数,其中个数的下限是 1,上限是 5
# 
$kubectl autoscale deployment/nginx-deployment --min=1 --max=5 --cpu-percent=80
deployment.apps/nginx-deployment scaled

2.StatefulSet 扩缩容

# 查询 statefulset
$kubectl get statefulsets |grep statefulset-app

# 修改 statefulset 中副本个数
# 方式 1
$kubectl scale statefulsets statefulset-app --replicas=3
# 方式 2:修改 spec.replicas
$kubectl edit statefulsets statefulset-app

3.ReplicaSet 扩缩容

# 创建 ReplicaSet
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: replicaset-frontend
  labels:
    app: guestbook
    tier: frontend
spec:
  # modify replicas according to your case
  replicas: 3
  selector:
    matchLabels:
      tier: frontend
  template:
    metadata:
      labels:
        tier: frontend
    spec:
      containers:
      - name: php-redis
        image: gcr.io/google_samples/gb-frontend:v3
# 查询 rs
$kubectl get rs |grep frontend
NAME       DESIRED   CURRENT   READY   AGE
replicaset-frontend   3         3         3       6s
# 查询 Pod
$kubectl get pods |grep frontend
NAME             READY   STATUS    RESTARTS   AGE
replicaset-frontend-b2zdv   1/1     Running   0          6m36s
replicaset-frontend-vcmts   1/1     Running   0          6m36s
replicaset-frontend-wtsmm   1/1     Running   0          6m36s

# 修改 ReplicaSet 中副本个数
# spec.replicas
$kubectl edit replicaset/replicaset-frontend

相关文章

网友评论

    本文标题:【K8s 精选】CKA - Application 扩容和缩容

    本文链接:https://www.haomeiwen.com/subject/eplrrrtx.html