apiVersion: v1 kind: ServiceAccount metadata: name: cloud-controller-manager namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: system:cloud-controller-manager rules: - apiGroups: [""] resources: ["events"] verbs: - create - patch - update - apiGroups: [""] resources: ["nodes"] verbs: ["*"] - apiGroups: [""] resources: ["nodes/status"] verbs: ["patch"] - apiGroups: [""] resources: ["services"] verbs: - list - patch - update - watch - apiGroups: [""] resources: ["endpoints"] verbs: - create - get - list - watch - update - apiGroups: ["coordination.k8s.io"] resources: ["leases"] verbs: - get - create - update --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: system:cloud-controller-manager roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: system:cloud-controller-manager subjects: - kind: ServiceAccount name: cloud-controller-manager namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: system:cloud-controller-manager:extension-apiserver-authentication-reader namespace: kube-system roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: extension-apiserver-authentication-reader subjects: - kind: ServiceAccount name: cloud-controller-manager namespace: kube-system --- apiVersion: apps/v1 kind: Deployment metadata: name: pve-cloud-controller-manager namespace: kube-system labels: app: pve-cloud-controller-manager spec: replicas: 1 selector: matchLabels: app: pve-cloud-controller-manager template: metadata: labels: app: pve-cloud-controller-manager spec: priorityClassName: system-node-critical containers: - args: - --cloud-config=/etc/kubernetes/pve.json - --tls-min-version=VersionTLS12 - --tls-cipher-suites="TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" - --cloud-provider=pve - --leader-elect=true image: reg.k8s.giftfish.de/library/pve-cloud-controller-manager-amd64:dev imagePullPolicy: Always livenessProbe: httpGet: path: /healthz port: 10258 scheme: HTTPS initialDelaySeconds: 3 periodSeconds: 3 name: manager resources: requests: cpu: 100m memory: 50Mi volumeMounts: - name: config mountPath: /etc/kubernetes/pve.json readOnly: true - name: ca-certs mountPath: /etc/ssl/certs readOnly: true volumes: - name: config hostPath: path: /etc/kubernetes/pve.json - name: ca-certs hostPath: path: /etc/ssl/certs dnsPolicy: Default serviceAccountName: cloud-controller-manager tolerations: - effect: NoSchedule key: node.cloudprovider.kubernetes.io/uninitialized value: "true" - key: CriticalAddonsOnly operator: Exists - effect: NoSchedule key: node-role.kubernetes.io/master - effect: NoSchedule key: node.kubernetes.io/not-ready