22
03月
2023
摘要:k8s 自动扩缩
新建一个my-app.yaml文件 apiVersion: apps/v1 kind: Deployment metadata: name: my-app-deployment namespace: dev #uid: 2f365299-c285-4624-aa4e-4cdd88ecbc39 #这个是级联删除的作用 labels: app: my-app spec: replicas: 6 selector: matchLabels: app: my-app template: metadata: labels: app: my-app spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchExpressions: - key: app operator: In values: - my-app topologyKey: "kubernetes.io/hostname" containers: - name: my-app image: $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER ports: - containerPort: 80 --- kind: Service apiVersion: v1 metadata: name: my-app-server namespace: dev labels: app: my-app-server spec: ports: - name: http-my-app protocol: TCP port: 9001 targetPort: 80 nodePort: 32393 selector: app: my-app type: NodePort sessionAffinity: None --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: my-app-deployment namespace: dev #ownerReferences: #这个是级联删除的作用 #- apiVersion: apps/v1 # blockOwnerDeletion: true # controller: true # kind: Deployment # name: my-app-deployment # uid: 2f365299-c285-4624-aa4e-4cdd88ecbc39 spec: maxReplicas: 20 metrics: - resource: name: memory target: averageValue: 2Gi type: AverageValue type: Resource - resource: name: cpu target: averageUtilization: 60 type: Utilization type: Resource minReplicas: 5 scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: my-app-deployment
命令行执行:
kubectl apply -f my-app.yaml
非特殊说明,本文版权归HPay所有,转载请注明出处.
本文类型: Java工具