cloud-provider-pve/deploy/pve-cloud-controller-manager.yaml
2020-11-01 01:17:54 +01:00

140 lines
3.6 KiB
YAML

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
- apiGroups: [""]
resources: ["nodes"]
verbs: ["*"]
- apiGroups: [""]
resources: ["nodes/status"]
verbs: ["patch"]
- apiGroups: [""]
resources: ["services"]
verbs:
- list
- patch
- update
- watch
- apiGroups: [""]
resources: ["endpoints"]
verbs: ["create"]
- apiGroups: [""]
resources: ["endpoints"]
resourceNames: ["cloud-controller-manager"]
verbs:
- get
- update
- apiGroups: ["coordination.k8s.io"]
resources: ["leases"]
verbs: ["create"]
- apiGroups: ["coordination.k8s.io"]
resources: ["leases"]
resourceNames: ["cloud-controller-manager"]
verbs:
- get
- 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