mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-03-07 19:51:15 -03:30
run calico-policy-controller with proper sa/role/rolebinding
This commit is contained in:
@@ -3,6 +3,31 @@
|
|||||||
when: kube_network_plugin == 'canal'
|
when: kube_network_plugin == 'canal'
|
||||||
tags: [facts, canal]
|
tags: [facts, canal]
|
||||||
|
|
||||||
|
- name: Lay Down calico-policy-controller Template
|
||||||
|
template:
|
||||||
|
src: "{{item.file}}"
|
||||||
|
dest: "{{kube_config_dir}}/{{item.file}}"
|
||||||
|
with_items:
|
||||||
|
- {name: calico-policy-controller, file: calico-policy-controller-sa.yml, type: sa}
|
||||||
|
- {name: calico-policy-controller, file: calico-policy-controller-clusterrole.yml, type: clusterrole}
|
||||||
|
- {name: calico-policy-controller, file: calico-policy-controller-clusterrolebinding.yml, type: clusterrolebinding}
|
||||||
|
register: manifests
|
||||||
|
when: inventory_hostname == groups['kube-master'][0] and rbac_enabled
|
||||||
|
tags: canal
|
||||||
|
|
||||||
|
- name: Create calico-policy-controller Resources
|
||||||
|
kube:
|
||||||
|
name: "{{item.item.name}}"
|
||||||
|
namespace: "{{ system_namespace }}"
|
||||||
|
kubectl: "{{bin_dir}}/kubectl"
|
||||||
|
resource: "{{item.item.type}}"
|
||||||
|
filename: "{{kube_config_dir}}/{{item.item.file}}"
|
||||||
|
state: "{{item.changed | ternary('latest','present') }}"
|
||||||
|
with_items: "{{ manifests.results }}"
|
||||||
|
failed_when: manifests|failed and "Error from server (AlreadyExists)" not in manifests.msg
|
||||||
|
when: inventory_hostname == groups['kube-master'][0] and rbac_enabled
|
||||||
|
tags: canal
|
||||||
|
|
||||||
- name: Write calico-policy-controller yaml
|
- name: Write calico-policy-controller yaml
|
||||||
template:
|
template:
|
||||||
src: calico-policy-controller.yml.j2
|
src: calico-policy-controller.yml.j2
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
kind: ClusterRole
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||||
|
metadata:
|
||||||
|
name: calico-policy-controller
|
||||||
|
namespace: {{ system_namespace }}
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
- extensions
|
||||||
|
resources:
|
||||||
|
- pods
|
||||||
|
- namespaces
|
||||||
|
- networkpolicies
|
||||||
|
verbs:
|
||||||
|
- watch
|
||||||
|
- list
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
kind: ClusterRoleBinding
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||||
|
metadata:
|
||||||
|
name: calico-policy-controller
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: calico-policy-controller
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: calico-policy-controller
|
||||||
|
namespace: {{ system_namespace }}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: calico-policy-controller
|
||||||
|
namespace: {{ system_namespace }}
|
||||||
|
labels:
|
||||||
|
kubernetes.io/cluster-service: "true"
|
||||||
@@ -60,3 +60,6 @@ spec:
|
|||||||
- hostPath:
|
- hostPath:
|
||||||
path: {{ calico_cert_dir }}
|
path: {{ calico_cert_dir }}
|
||||||
name: etcd-certs
|
name: etcd-certs
|
||||||
|
{% if rbac_enabled %}
|
||||||
|
serviceAccountName: calico-policy-controller
|
||||||
|
{% endif %}
|
||||||
|
|||||||
Reference in New Issue
Block a user