阿里云kubernets使用记录6-pod的自动扩缩容

1、我们的服务到这里应该都可以正常访问了,我们这里说一下pod的自动扩缩容

这里我们用的是hpa,下面我们来定义一个yaml文件

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: finance-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: finance
  minReplicas: 2
  maxReplicas: 50
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 50

执行后,我们kubectl get hpa就可以看到记录了

我们定义了最少的pod数量为2,最大的pod数量为50,指向的服务是之前建立的finance,当pod的cpu资源大于50%的时候,进行扩容,也就是增加pod

如果我们看到的hpa记录里没有获取到cpu的占用,说明我们的服务里没有定义所需的资源,我们来定义一下

apiVersion: apps/v1
kind: Deployment
metadata:
  name: finance
  labels:
    app: finance
spec:
  replicas: 2 # 2个pod
  selector:
    matchLabels:
      app: finance
  template:
    metadata:
      labels:
        app: finance
    spec:
      containers:
        - name: finance
          image: 换成你的镜像
          workingDir: /nas/finance  # 设置 Webman 工作目录
          command: ["/bin/sh", "-c"]
          args: ["php start.php start"]  # 启动 Webman
          resources:
            requests:
              cpu: "1"  # 最低1核
            limits:
              cpu: "4"  # 限制最大4核
          ports:
            - containerPort: 9512   #rpc端口-内部
          volumeMounts:
            - name: nas
              mountPath: /nas  # 挂载整个 NAS
      volumes:
        - name: nas
          persistentVolumeClaim:
            claimName: my-nas-pvc  # 关联 NAS 的 PVC

执行后,就可以在hpa中看到资源的占用情况了

文章作者: Wind
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 雕刻时光
喜欢就支持一下吧