diff --git a/ci/cluster/oci-arm64/autoscaler/cluster-autoscaler.yaml b/ci/cluster/oci-arm64/autoscaler/cluster-autoscaler.yaml index 9f537de..cc3a8c1 100644 --- a/ci/cluster/oci-arm64/autoscaler/cluster-autoscaler.yaml +++ b/ci/cluster/oci-arm64/autoscaler/cluster-autoscaler.yaml @@ -148,10 +148,10 @@ spec: name: cluster-autoscaler resources: limits: - cpu: 100m + cpu: 200m memory: 300Mi requests: - cpu: 100m + cpu: 600m memory: 300Mi command: - ./cluster-autoscaler @@ -159,7 +159,7 @@ spec: - --stderrthreshold=info - --cloud-provider=oci - --max-node-provision-time=25m - - --nodes=1:10:ocid1.nodepool.oc1.us-sanjose-1.aaaaaaaaxjbwe3w6qswmyflqesvj76cy2fhzwvm6ztamsqptpngnhkzehmha + - --nodes=1:10:ocid1.nodepool.oc1.iad.aaaaaaaae3f6nlec4v4btdptd7qyhugxrpwaqcgnsuzhajpchnwoygfn6tra - --scale-down-delay-after-add=10m - --scale-down-unneeded-time=10m - --unremovable-node-recheck-timeout=5m diff --git a/ci/cluster/oci-arm64/autoscaler/deployment.yaml b/ci/cluster/oci-arm64/autoscaler/deployment.yaml deleted file mode 100644 index 4e4e24b..0000000 --- a/ci/cluster/oci-arm64/autoscaler/deployment.yaml +++ /dev/null @@ -1,203 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - k8s-addon: cluster-autoscaler.addons.k8s.io - k8s-app: cluster-autoscaler - name: cluster-autoscaler - namespace: kube-system ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: cluster-autoscaler - labels: - k8s-addon: cluster-autoscaler.addons.k8s.io - k8s-app: cluster-autoscaler -rules: - - apiGroups: [""] - resources: ["events", "endpoints"] - verbs: ["create", "patch"] - - apiGroups: [""] - resources: ["pods/eviction"] - verbs: ["create"] - - apiGroups: [""] - resources: ["pods/status"] - verbs: ["update"] - - apiGroups: [""] - resources: ["endpoints"] - resourceNames: ["cluster-autoscaler"] - verbs: ["get", "update"] - - apiGroups: [""] - resources: ["nodes"] - verbs: ["watch", "list", "get", "update"] - - apiGroups: [""] - resources: - - "namespaces" - - "pods" - - "services" - - "replicationcontrollers" - - "persistentvolumeclaims" - - "persistentvolumes" - verbs: ["watch", "list", "get"] - - apiGroups: ["extensions"] - resources: ["replicasets", "daemonsets"] - verbs: ["watch", "list", "get"] - - apiGroups: ["policy"] - resources: ["poddisruptionbudgets"] - verbs: ["watch", "list"] - - apiGroups: ["apps"] - resources: ["statefulsets", "replicasets", "daemonsets"] - verbs: ["watch", "list", "get"] - - apiGroups: ["storage.k8s.io"] - resources: - ["storageclasses", "csinodes", "csidrivers", "csistoragecapacities"] - verbs: ["watch", "list", "get"] - - apiGroups: ["batch", "extensions"] - resources: ["jobs"] - verbs: ["get", "list", "watch", "patch"] - - apiGroups: ["coordination.k8s.io"] - resources: ["leases"] - verbs: ["create"] - - apiGroups: ["coordination.k8s.io"] - resourceNames: ["cluster-autoscaler"] - resources: ["leases"] - verbs: ["get", "update"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: cluster-autoscaler - namespace: kube-system - labels: - k8s-addon: cluster-autoscaler.addons.k8s.io - k8s-app: cluster-autoscaler -rules: - - apiGroups: [""] - resources: ["configmaps"] - verbs: ["create", "list", "watch"] - - apiGroups: [""] - resources: ["configmaps"] - resourceNames: - ["cluster-autoscaler-status", "cluster-autoscaler-priority-expander"] - verbs: ["delete", "get", "update", "watch"] - ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: cluster-autoscaler - labels: - k8s-addon: cluster-autoscaler.addons.k8s.io - k8s-app: cluster-autoscaler -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: cluster-autoscaler -subjects: - - kind: ServiceAccount - name: cluster-autoscaler - namespace: kube-system - ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: cluster-autoscaler - namespace: kube-system - labels: - k8s-addon: cluster-autoscaler.addons.k8s.io - k8s-app: cluster-autoscaler -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: cluster-autoscaler -subjects: - - kind: ServiceAccount - name: cluster-autoscaler - namespace: kube-system - ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: cluster-autoscaler - namespace: kube-system - labels: - app: cluster-autoscaler -spec: - replicas: 1 - selector: - matchLabels: - app: cluster-autoscaler - template: - metadata: - labels: - app: cluster-autoscaler - annotations: - prometheus.io/scrape: "true" - prometheus.io/port: "8085" - spec: - tolerations: - - effect: NoSchedule - key: node-role.kubernetes.io/control-plane - # Node affinity is used to force cluster-autoscaler to stick - # to the master node. This allows the cluster to reliably downscale - # to zero worker nodes when needed. - affinity: - nodeAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: node-role.kubernetes.io/control-plane - operator: Exists - serviceAccountName: cluster-autoscaler - containers: - - image: registry.k8s.io/autoscaling/cluster-autoscaler:v1.31.0 - name: cluster-autoscaler - resources: - limits: - cpu: 100m - memory: 300Mi - requests: - cpu: 100m - memory: 300Mi - imagePullPolicy: Always - env: - - name: INSTALLED_CCM - value: cloud-provider-equinix-metal - - name: METAL_CONTROLLER_NODE_IDENTIFIER_LABEL - value: node-role.kubernetes.io/control-plane - - name: METAL_AUTH_TOKEN - valueFrom: - secretKeyRef: - name: cluster-autoscaler-equinixmetal - key: authtoken - # You can take advantage of multiple nodepools by adding - # extra arguments on the cluster-autoscaler command. - # e.g. for pool1, pool2 - # --nodes=0:10:pool1 - # --nodes=0:10:pool2 - command: - - ./cluster-autoscaler - - --alsologtostderr - - --cluster-name=cluster1 - - --cloud-config=/config/cloud-config - - --cloud-provider=equinixmetal - - --expander=price - - --nodes=1:20:pool1 - - --nodes=1:10:pool2 - - --nodes=1:5:pool3 - - --scale-down-unneeded-time=1m0s - - --scale-down-delay-after-add=1m0s - - --scale-down-unready-time=1m0s - - --v=2 - volumeMounts: - - name: cloud-config - mountPath: /config - readOnly: true - volumes: - - name: cloud-config - secret: - secretName: cluster-autoscaler-cloud-config \ No newline at end of file diff --git a/ci/cluster/oci-arm64/autoscaler/service-accounts.yaml b/ci/cluster/oci-arm64/autoscaler/service-accounts.yaml deleted file mode 100644 index 232b1d4..0000000 --- a/ci/cluster/oci-arm64/autoscaler/service-accounts.yaml +++ /dev/null @@ -1,77 +0,0 @@ ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: cluster-autoscaler-role -rules: - - apiGroups: [""] - resources: ["events", "endpoints"] - verbs: ["create", "patch"] - - apiGroups: [""] - resources: ["pods/eviction"] - verbs: ["create"] - - apiGroups: [""] - resources: ["pods/status"] - verbs: ["update"] - - apiGroups: [""] - resources: ["endpoints"] - resourceNames: ["cluster-autoscaler"] - verbs: ["get", "update"] - - apiGroups: [""] - resources: ["nodes"] - verbs: ["watch", "list", "get", "update"] - - apiGroups: [""] - resources: - - "namespaces" - - "pods" - - "services" - - "replicationcontrollers" - - "persistentvolumeclaims" - - "persistentvolumes" - verbs: ["watch", "list", "get"] - - apiGroups: ["batch"] - resources: ["jobs"] - verbs: ["watch", "list", "get"] - - apiGroups: ["policy"] - resources: ["poddisruptionbudgets"] - verbs: ["watch", "list"] - - apiGroups: ["apps"] - resources: ["daemonsets", "replicasets", "statefulsets"] - verbs: ["watch", "list", "get"] - - apiGroups: ["storage.k8s.io"] - resources: ["storageclasses", "csinodes"] - verbs: ["watch", "list", "get"] - - apiGroups: [""] - resources: ["configmaps"] - verbs: ["create","list","watch"] - - apiGroups: [""] - resources: ["configmaps"] - resourceNames: ["cluster-autoscaler-status", "cluster-autoscaler-priority-expander"] - verbs: ["delete", "get", "update"] - - apiGroups: ["coordination.k8s.io"] - resources: ["leases"] - verbs: ["create"] - - apiGroups: ["coordination.k8s.io"] - resources: ["leases"] - resourceNames: ["cluster-autoscaler"] - verbs: ["get", "update"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: cluster-autoscaler-rolebinding - namespace: kube-system -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: cluster-autoscaler-role -subjects: - - kind: ServiceAccount - name: cluster-autoscaler-account - namespace: kube-system ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: cluster-autoscaler-account - namespace: kube-system \ No newline at end of file