部署keda
keda 部署十分简单直接下载yaml文件就可用部署了
$ kubectl create namespace keda
$ kubectl apply -f https://github.com/kedacore/keda/releases/download/v2.6.1/keda-2.6.1.yaml
KEDA测试demo
同样也是测试
apiVersion: apps/v1
kind: Deployment
metadata:
name: hpa-demo
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: docker.io/library/nginx:1.11.3
ports:
- containerPort: 80
resources:
requests:
memory: 50Mi
cpu: 50m
---
apiVersion: v1
kind: Service
metadata:
labels:
app: nginx
name: hpa-demo
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
type: ClusterIP
---
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
name: hpa-demo
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: hpa-demo
minReplicaCount: 1
maxReplicaCount: 5
triggers:
- type: cpu
metadata:
type: Utilization
value: "10"
部署到k8s上,由于创建cpu hpa,所以keda也是在
$ kubectl apply -f ./demo-hpa.yaml -n default
检验scaledobject.keda.sh
$ kubectl get scaledobject.keda.sh hpa-demo
NAME SCALETARGETKIND SCALETARGETNAME MIN MAX TRIGGERS AUTHENTICATION READY ACTIVE FALLBACK AGE
hpa-demo apps/v1.Deployment hpa-demo 1 5 cpu True True Unknown 6m25s
感觉没有什么信息,重新检查一下hpa对象
$ kubectl get hpa -n defaul
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
keda-hpa-hpa-demo Deployment/hpa-demo 0%/10% 1 5 5 8m14s
检查keda-hpa-hpa-demo是和k8s hpa 设置的一致
测试命令
获取demo-hpa service 服务地址, 发送请求
$ kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hpa-demo ClusterIP 10.235.51.171 <none> 80/TCP 12m
$ while true; do wget -q -O- http://10.235.51.171; done
其他相关