cloud-provider-pve/deploy/pve-csr-approver-manager.yaml
2021-12-08 22:12:44 +01:00

124 lines
3 KiB
YAML

apiVersion: v1
kind: ServiceAccount
metadata:
namespace: kube-system
name: pve-csr-approver
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: system:pve-csr-approver
rules:
- apiGroups: ["certificates.k8s.io"]
resources: ["signers"]
resourceNames:
- "kubernetes.io/legacy-unknown"
- "kubernetes.io/kubelet-serving"
verbs: ["approve"]
- apiGroups: ["certificates.k8s.io"]
resources: ["certificatesigningrequests"]
verbs:
- get
- list
- watch
- apiGroups: ["certificates.k8s.io"]
resources: ["certificatesigningrequests/approval"]
verbs:
- create
- update
- apiGroups: [""]
resources: ["events"]
verbs:
- create
- patch
- apiGroups: ["coordination.k8s.io"]
resources: ["leases"]
verbs: ["create"]
- apiGroups: ["coordination.k8s.io"]
resources: ["leases"]
resourceNames: ["pve-csr-approver-manager"]
verbs:
- get
- update
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: system:pve-csr-approver
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: system:pve-csr-approver
subjects:
- kind: ServiceAccount
namespace: kube-system
name: pve-csr-approver
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: pve-csr-approver-manager
namespace: kube-system
labels:
app: pve-csr-approver-manager
spec:
selector:
matchLabels:
app: pve-csr-approver-manager
template:
metadata:
labels:
app: pve-csr-approver-manager
spec:
priorityClassName: system-node-critical
containers:
- args:
- --cloud-config=/etc/kubernetes/pve.json
- --leader-elect=true
name: manager
image: reg.k8s.giftfish.de/library/pve-csr-approver-manager-amd64:dev
imagePullPolicy: Always
livenessProbe:
httpGet:
path: /healthz
port: 9449
initialDelaySeconds: 3
periodSeconds: 3
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
type: File
- name: ca-certs
hostPath:
path: /etc/ssl/certs
type: Directory
dnsPolicy: Default
serviceAccountName: pve-csr-approver
nodeSelector:
node-role.kubernetes.io/master: ""
node-role.kubernetes.io/control-plane: ""
tolerations:
- key: node.cloudprovider.kubernetes.io/uninitialized
effect: NoSchedule
value: "true"
- key: node-role.kubernetes.io/master
effect: NoSchedule
- key: node.kubernetes.io/not-ready
effect: NoSchedule
- key: node-role.kubernetes.io/control-plane
effect: NoSchedule
operator: Exists
- key: CriticalAddonsOnly
operator: Exists