# Copyright (c) 2018-2019 Intel Corporation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. --- - name: Disable swap command: swapoff -a ignore_errors: true - name: Reset Kubernetes cluster command: kubeadm reset - name: Clean Kubernetes directories (w/o removing the folder itself) shell: rm -fr {{ item }}/* with_items: - /etc/kubernetes - /var/lib/cni - /etc/cmk - name: Create Multus CNI plugin dir file: path=/etc/cni/net.d state=directory - name: Configure Multus CNI plugin template: src=10-multus-cni.conf.j2 dest=/etc/cni/net.d/10-multus-cni.conf owner=root mode=0644 - name: Change default kubelet cluster dns IP lineinfile: path: /etc/systemd/system/kubelet.service.d/10-kubeadm.conf regexp: '^(.*)--cluster-dns=([0-9\.]*)( +.*)$' line: '\1--cluster-dns={{ kubelet_cluster_dns_ip }}\3' backrefs: yes backup: yes - name: Systemd daemon reload command: systemctl daemon-reload - name: Restart kubelet service: name=kubelet state=restarted - name: Initialize kubeadm include: kubeadm.yml - name: Create CMK Kubernetes resources command: kubectl create -f {{ item }} with_items: - "{{ cmk_rbc_rules_url }}" - "{{ cmk_serviceaccount }}" - name: Create Kubernetes resources include: kubectl.yml with_items: - crd-network.yaml - net-flannel.yaml - roles.yaml - kube-flannel.yaml - cmk-init-pod.yaml - name: Create a ClusterRoleBinding for a particular ClusterRole command: > kubectl create clusterrolebinding multus-node-{{ ansible_hostname }} --clusterrole=multus-crd-overpowered --user=system:node:{{ ansible_hostname }}