1
1
# From: https://raw.githubusercontent.com/kubernetes/cloud-provider-openstack/master/manifests/controller-manager/openstack-cloud-controller-manager-ds.yaml
2
- ---
2
+ # NOTE! We modify the node-selector to have empty value (""). This matches what kubeadm does.
3
3
apiVersion : v1
4
4
kind : ServiceAccount
5
5
metadata :
@@ -26,64 +26,67 @@ spec:
26
26
spec :
27
27
nodeSelector :
28
28
node-role.kubernetes.io/control-plane : " "
29
- # we need user root to read the cloud.conf from the host
30
29
securityContext :
31
- runAsUser : 0
30
+ runAsUser : 1001
32
31
tolerations :
33
- - key : node.cloudprovider.kubernetes.io/uninitialized
34
- value : " true"
35
- effect : NoSchedule
36
- - key : node-role.kubernetes.io/master
37
- effect : NoSchedule
38
- - key : node-role.kubernetes.io/control-plane
39
- effect : NoSchedule
32
+ - key : " CriticalAddonsOnly"
33
+ operator : " Equal"
34
+ value : " true"
35
+ effect : " NoExecute"
36
+ - key : node.cloudprovider.kubernetes.io/uninitialized
37
+ value : " true"
38
+ effect : NoSchedule
39
+ - key : node-role.kubernetes.io/master
40
+ effect : NoSchedule
41
+ - key : node-role.kubernetes.io/control-plane
42
+ effect : NoSchedule
40
43
serviceAccountName : cloud-controller-manager
41
44
containers :
42
- - name : openstack-cloud-controller-manager
43
- image : >-
44
- registry.k8s.io/provider-os/openstack-cloud-controller-manager:v1.32.0
45
- args :
46
- - /bin/openstack-cloud-controller-manager
47
- - --v=1
48
- - --cluster-name=$(CLUSTER_NAME)
49
- - --cloud-config=$(CLOUD_CONFIG)
50
- - --cloud-provider=openstack
51
- - --use-service-account-credentials=false
52
- - --bind-address=127.0.0.1
53
- volumeMounts :
54
- - mountPath : /etc/kubernetes
55
- name : k8s
56
- readOnly : true
57
- - mountPath : /etc/kubernetes/pki
58
- name : k8s-certs
59
- readOnly : true
60
- - mountPath : /etc/ssl/certs
61
- name : ca-certs
62
- readOnly : true
63
- resources :
64
- requests :
65
- cpu : 200m
66
- env :
67
- - name : CLOUD_CONFIG
68
- value : /etc/kubernetes/cloud.conf
69
- - name : CLUSTER_NAME
70
- value : kubernetes
71
- hostNetwork : true
72
- volumes :
73
- - hostPath :
74
- path : /etc/kubernetes
75
- type : DirectoryOrCreate
76
- name : k8s
77
- - hostPath :
78
- path : /etc/kubernetes/pki
79
- type : DirectoryOrCreate
45
+ - name : openstack-cloud-controller-manager
46
+ image : registry.k8s.io/provider-os/openstack-cloud-controller-manager:v1.33.0
47
+ args :
48
+ - /bin/openstack-cloud-controller-manager
49
+ - --v=1
50
+ - --cluster-name=$(CLUSTER_NAME)
51
+ - --cloud-config=$(CLOUD_CONFIG)
52
+ - --cloud-provider=openstack
53
+ - --use-service-account-credentials=false
54
+ - --bind-address=127.0.0.1
55
+ volumeMounts :
56
+ - mountPath : /etc/kubernetes/pki
80
57
name : k8s-certs
81
- - hostPath :
82
- path : /etc/ssl/certs
83
- type : DirectoryOrCreate
58
+ readOnly : true
59
+ - mountPath : /etc/ssl/certs
84
60
name : ca-certs
61
+ readOnly : true
62
+ - mountPath : /etc/config
63
+ name : cloud-config-volume
64
+ readOnly : true
65
+ resources :
66
+ requests :
67
+ cpu : 200m
68
+ env :
69
+ - name : CLOUD_CONFIG
70
+ value : /etc/config/cloud.conf
71
+ - name : CLUSTER_NAME
72
+ value : kubernetes
73
+ dnsPolicy : ClusterFirst
74
+ hostNetwork : true
75
+ volumes :
76
+ - hostPath :
77
+ path : /etc/kubernetes/pki
78
+ type : DirectoryOrCreate
79
+ name : k8s-certs
80
+ - hostPath :
81
+ path : /etc/ssl/certs
82
+ type : DirectoryOrCreate
83
+ name : ca-certs
84
+ - name : cloud-config-volume
85
+ secret :
86
+ secretName : cloud-config
85
87
---
86
88
# https://raw.githubusercontent.com/kubernetes/cloud-provider-openstack/refs/heads/master/manifests/controller-manager/cloud-controller-manager-role-bindings.yaml
89
+ # NOTE! We need to "extract" the List or the CRS will fail to apply.
87
90
apiVersion : rbac.authorization.k8s.io/v1
88
91
kind : ClusterRoleBinding
89
92
metadata :
@@ -111,6 +114,7 @@ subjects:
111
114
namespace : kube-system
112
115
---
113
116
# https://raw.githubusercontent.com/kubernetes/cloud-provider-openstack/refs/heads/master/manifests/controller-manager/cloud-controller-manager-roles.yaml
117
+ # NOTE! We need to "extract" the List or the CRS will fail to apply.
114
118
apiVersion : rbac.authorization.k8s.io/v1
115
119
kind : ClusterRole
116
120
metadata :
0 commit comments