Skip to content

Instantly share code, notes, and snippets.

@maaft
Created December 1, 2022 14:58
Show Gist options
  • Save maaft/3fba8406265aed9b0713452e72bfd385 to your computer and use it in GitHub Desktop.
Save maaft/3fba8406265aed9b0713452e72bfd385 to your computer and use it in GitHub Desktop.
# NOTE: this release was tested against kubernetes v1.18.x
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: cloud-controller-manager
namespace: kube-system
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: system:cloud-controller-manager
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: cloud-controller-manager
namespace: kube-system
---
# Source: ccm-hetzner/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: hcloud-cloud-controller-manager
namespace: kube-system
spec:
replicas: 1
revisionHistoryLimit: 2
selector:
matchLabels:
app: hcloud-cloud-controller-manager
template:
metadata:
labels:
app: hcloud-cloud-controller-manager
spec:
dnsPolicy: Default
serviceAccountName: cloud-controller-manager
securityContext:
{}
tolerations:
# this taint is set by all kubelets running `--cloud-provider=external`
# so we should tolerate it to schedule the cloud controller manager
- key: "node.cloudprovider.kubernetes.io/uninitialized"
value: "true"
effect: "NoSchedule"
- key: "CriticalAddonsOnly"
operator: "Exists"
# cloud controller manages should be able to run on masters
- key: "node-role.kubernetes.io/master"
effect: NoSchedule
operator: Exists
- key: "node-role.kubernetes.io/control-plane"
effect: NoSchedule
operator: Exists
- key: "node.kubernetes.io/not-ready"
effect: "NoSchedule"
hostNetwork: true
containers:
- image: "quay.io/syself/hetzner-cloud-controller-manager:v1.13.0-0.0.1"
name: hcloud-cloud-controller-manager
command:
- "/bin/hetzner-cloud-controller-manager"
- "--cloud-provider=hcloud"
- "--leader-elect=false"
- "--allow-untagged-cloud"
- "--allocate-node-cidrs=true"
- "--cluster-cidr=10.244.0.0/16"
resources:
requests:
cpu: 100m
memory: 50Mi
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: HCLOUD_TOKEN
valueFrom:
secretKeyRef:
name: hetzner
key: hcloud
- name: ROBOT_USER_NAME
valueFrom:
secretKeyRef:
name: hetzner
key: robot-user
- name: ROBOT_PASSWORD
valueFrom:
secretKeyRef:
name: hetzner
key: robot-password
priorityClassName: system-cluster-critical
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment