Files
terraform-talos/hetzner/deployments/cluster-autoscaler-hcloud-result.yaml
2023-09-12 09:35:33 +03:00

362 lines
8.6 KiB
YAML

---
# Source: cluster-autoscaler/templates/pdb.yaml
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
labels:
app.kubernetes.io/instance: "cluster-autoscaler-hcloud"
app.kubernetes.io/name: "hetzner-cluster-autoscaler"
app.kubernetes.io/managed-by: "Helm"
helm.sh/chart: "cluster-autoscaler-9.29.3"
name: cluster-autoscaler-hcloud
namespace: kube-system
spec:
selector:
matchLabels:
app.kubernetes.io/instance: "cluster-autoscaler-hcloud"
app.kubernetes.io/name: "hetzner-cluster-autoscaler"
maxUnavailable: 1
---
# Source: cluster-autoscaler/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app.kubernetes.io/instance: "cluster-autoscaler-hcloud"
app.kubernetes.io/name: "hetzner-cluster-autoscaler"
app.kubernetes.io/managed-by: "Helm"
helm.sh/chart: "cluster-autoscaler-9.29.3"
name: cluster-autoscaler-hcloud
namespace: kube-system
automountServiceAccountToken: true
---
# Source: cluster-autoscaler/templates/clusterrole.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
app.kubernetes.io/instance: "cluster-autoscaler-hcloud"
app.kubernetes.io/name: "hetzner-cluster-autoscaler"
app.kubernetes.io/managed-by: "Helm"
helm.sh/chart: "cluster-autoscaler-9.29.3"
name: cluster-autoscaler-hcloud
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
- cronjobs
verbs:
- watch
- list
- get
- apiGroups:
- batch
- extensions
resources:
- jobs
verbs:
- get
- list
- patch
- watch
- apiGroups:
- extensions
resources:
- replicasets
- daemonsets
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
- csidrivers
- csistoragecapacities
verbs:
- watch
- list
- get
- apiGroups:
- ""
resources:
- configmaps
verbs:
- list
- watch
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- create
- apiGroups:
- coordination.k8s.io
resourceNames:
- cluster-autoscaler
resources:
- leases
verbs:
- get
- update
---
# Source: cluster-autoscaler/templates/clusterrolebinding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
app.kubernetes.io/instance: "cluster-autoscaler-hcloud"
app.kubernetes.io/name: "hetzner-cluster-autoscaler"
app.kubernetes.io/managed-by: "Helm"
helm.sh/chart: "cluster-autoscaler-9.29.3"
name: cluster-autoscaler-hcloud
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-autoscaler-hcloud
subjects:
- kind: ServiceAccount
name: cluster-autoscaler-hcloud
namespace: kube-system
---
# Source: cluster-autoscaler/templates/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
labels:
app.kubernetes.io/instance: "cluster-autoscaler-hcloud"
app.kubernetes.io/name: "hetzner-cluster-autoscaler"
app.kubernetes.io/managed-by: "Helm"
helm.sh/chart: "cluster-autoscaler-9.29.3"
name: cluster-autoscaler-hcloud
namespace: kube-system
rules:
- apiGroups:
- ""
resources:
- configmaps
verbs:
- create
- apiGroups:
- ""
resources:
- configmaps
resourceNames:
- cluster-autoscaler-status
verbs:
- delete
- get
- update
---
# Source: cluster-autoscaler/templates/rolebinding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
labels:
app.kubernetes.io/instance: "cluster-autoscaler-hcloud"
app.kubernetes.io/name: "hetzner-cluster-autoscaler"
app.kubernetes.io/managed-by: "Helm"
helm.sh/chart: "cluster-autoscaler-9.29.3"
name: cluster-autoscaler-hcloud
namespace: kube-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: cluster-autoscaler-hcloud
subjects:
- kind: ServiceAccount
name: cluster-autoscaler-hcloud
namespace: kube-system
---
# Source: cluster-autoscaler/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/instance: "cluster-autoscaler-hcloud"
app.kubernetes.io/name: "hetzner-cluster-autoscaler"
app.kubernetes.io/managed-by: "Helm"
helm.sh/chart: "cluster-autoscaler-9.29.3"
name: cluster-autoscaler-hcloud
namespace: kube-system
spec:
ports:
- port: 8085
protocol: TCP
targetPort: 8085
name: http
selector:
app.kubernetes.io/instance: "cluster-autoscaler-hcloud"
app.kubernetes.io/name: "hetzner-cluster-autoscaler"
type: "ClusterIP"
---
# Source: cluster-autoscaler/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
{}
labels:
app.kubernetes.io/instance: "cluster-autoscaler-hcloud"
app.kubernetes.io/name: "hetzner-cluster-autoscaler"
app.kubernetes.io/managed-by: "Helm"
helm.sh/chart: "cluster-autoscaler-9.29.3"
name: cluster-autoscaler-hcloud
namespace: kube-system
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/instance: "cluster-autoscaler-hcloud"
app.kubernetes.io/name: "hetzner-cluster-autoscaler"
template:
metadata:
labels:
app.kubernetes.io/instance: "cluster-autoscaler-hcloud"
app.kubernetes.io/name: "hetzner-cluster-autoscaler"
spec:
priorityClassName: "system-cluster-critical"
dnsPolicy: "ClusterFirst"
containers:
- name: hetzner-cluster-autoscaler
image: "registry.k8s.io/autoscaling/cluster-autoscaler:v1.27.3"
imagePullPolicy: "IfNotPresent"
command:
- ./cluster-autoscaler
- --cloud-provider=hetzner
- --namespace=kube-system
- --nodes=0:2:CPX31:NBG1:worker-nbg1
- --nodes=0:2:CPX31:FSN1:worker-fsn1
- --nodes=0:2:CPX31:HEL1:worker-hel1
- --logtostderr=true
- --node-deletion-delay-timeout=10m0s
- --regional=true
- --scan-interval=3m
- --stderrthreshold=info
- --v=4
env:
- name: HCLOUD_CLOUD_INIT
valueFrom:
secretKeyRef:
name: hcloud
key: worker
- name: HCLOUD_IMAGE
valueFrom:
secretKeyRef:
name: hcloud
key: image
- name: HCLOUD_NETWORK
valueFrom:
secretKeyRef:
name: hcloud
key: network
- name: HCLOUD_SSH_KEY
valueFrom:
secretKeyRef:
name: hcloud
key: sshkey
- name: HCLOUD_TOKEN
valueFrom:
secretKeyRef:
name: hcloud
key: token
livenessProbe:
httpGet:
path: /health-check
port: 8085
ports:
- containerPort: 8085
resources:
limits:
cpu: 100m
memory: 300Mi
requests:
cpu: 100m
memory: 300Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
seccompProfile:
type: RuntimeDefault
nodeSelector:
node-role.kubernetes.io/control-plane: ""
node.cloudprovider.kubernetes.io/platform: hcloud
serviceAccountName: cluster-autoscaler-hcloud
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/control-plane