github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/neon/templates/autoscaler-agent.yaml (about) 1 apiVersion: v1 2 kind: ServiceAccount 3 metadata: 4 name: autoscaler-agent 5 namespace: kube-system 6 --- 7 apiVersion: rbac.authorization.k8s.io/v1 8 kind: ClusterRoleBinding 9 metadata: 10 name: autoscaler-view 11 roleRef: 12 apiGroup: rbac.authorization.k8s.io 13 kind: ClusterRole 14 name: view 15 subjects: 16 - kind: ServiceAccount 17 name: autoscaler-agent 18 namespace: kube-system 19 --- 20 apiVersion: rbac.authorization.k8s.io/v1 21 kind: ClusterRoleBinding 22 metadata: 23 name: autoscaler-virtualmachine-editor 24 roleRef: 25 apiGroup: rbac.authorization.k8s.io 26 kind: ClusterRole 27 name: neonvm-virtualmachine-editor-role 28 subjects: 29 - kind: ServiceAccount 30 name: autoscaler-agent 31 namespace: kube-system 32 --- 33 apiVersion: v1 34 data: 35 config.json: | 36 { 37 "scaling": { 38 "requestTimeoutSeconds": 10, 39 "defaultConfig": { 40 "loadAverageFractionTarget": 0.9, 41 "memoryUsageFractionTarget": 0.75 42 } 43 }, 44 "informant": { 45 "serverPort": 10301, 46 "callbackPort": 10302, 47 "retryServerMinWaitSeconds": 5, 48 "retryServerNormalWaitSeconds": 5, 49 "registerRetrySeconds": 5, 50 "requestTimeoutSeconds": 1, 51 "registerTimeoutSeconds": 2, 52 "downscaleTimeoutSeconds": 2, 53 "unhealthyAfterSilenceDurationSeconds": 20, 54 "unhealthyStartupGracePeriodSeconds": 20 55 }, 56 "monitor": { 57 "responseTimeoutSeconds": 5 58 }, 59 "metrics": { 60 "loadMetricPrefix": "host_", 61 "requestTimeoutSeconds": 2, 62 "secondsBetweenRequests": 5 63 }, 64 "scheduler": { 65 "schedulerName": "autoscale-scheduler", 66 "requestTimeoutSeconds": 2, 67 "requestPort": 10299 68 }, 69 "dumpState": { 70 "port": 10300, 71 "timeoutSeconds": 5 72 } 73 } 74 kind: ConfigMap 75 metadata: 76 name: autoscaler-agent-config 77 namespace: kube-system 78 --- 79 apiVersion: apps/v1 80 kind: DaemonSet 81 metadata: 82 name: autoscaler-agent 83 namespace: kube-system 84 spec: 85 selector: 86 matchLabels: 87 name: autoscaler-agent 88 template: 89 metadata: 90 labels: 91 name: autoscaler-agent 92 spec: 93 containers: 94 - env: 95 - name: K8S_NODE_NAME 96 valueFrom: 97 fieldRef: 98 fieldPath: spec.nodeName 99 - name: K8S_POD_IP 100 valueFrom: 101 fieldRef: 102 fieldPath: status.podIP 103 - name: CONFIG_PATH 104 value: /etc/autoscaler-agent-config/config.json 105 image: neondatabase/autoscaler-agent:v0.17.0 106 name: autoscaler-agent 107 ports: 108 - containerPort: 9100 109 name: metrics 110 protocol: TCP 111 resources: 112 limits: 113 cpu: 100m 114 memory: 100Mi 115 volumeMounts: 116 - mountPath: /etc/autoscaler-agent-config 117 name: config 118 serviceAccountName: autoscaler-agent 119 volumes: 120 - configMap: 121 name: autoscaler-agent-config 122 name: config