部署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/v1kind: Deploymentmetadata:name: hpa-demospec:selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: docker.io/library/nginx:1.11.3ports:- containerPort: 80resources:requests:memory: 50Micpu: 50m---apiVersion: v1kind: Servicemetadata:labels:app: nginxname: hpa-demospec:ports:- name: httpport: 80protocol: TCPtargetPort: 80selector:app: nginxtype: ClusterIP---apiVersion: keda.sh/v1alpha1kind: ScaledObjectmetadata:name: hpa-demospec:scaleTargetRef:apiVersion: apps/v1kind: Deploymentname: hpa-demominReplicaCount: 1maxReplicaCount: 5triggers:- type: cpumetadata:type: Utilizationvalue: "10"
部署到k8s上,由于创建cpu hpa,所以keda也是在
$ kubectl apply -f ./demo-hpa.yaml -n default
检验scaledobject.keda.sh
$ kubectl get scaledobject.keda.sh hpa-demoNAME SCALETARGETKIND SCALETARGETNAME MIN MAX TRIGGERS AUTHENTICATION READY ACTIVE FALLBACK AGEhpa-demo apps/v1.Deployment hpa-demo 1 5 cpu True True Unknown 6m25s
感觉没有什么信息,重新检查一下hpa对象
$ kubectl get hpa -n defaulNAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGEkeda-hpa-hpa-demo Deployment/hpa-demo 0%/10% 1 5 5 8m14s
检查keda-hpa-hpa-demo是和k8s hpa 设置的一致
测试命令
获取demo-hpa service 服务地址, 发送请求
$ kubectl get serviceNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEhpa-demo ClusterIP 10.235.51.171 <none> 80/TCP 12m$ while true; do wget -q -O- http://10.235.51.171; done
其他相关
