chore: migrated from internal repo
!1 nofusscomputing/infrastructure/config!28
This commit is contained in:
		
							
								
								
									
										146
									
								
								tasks/prime.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										146
									
								
								tasks/prime.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,146 @@ | ||||
| --- | ||||
|  | ||||
| - name: initialize Kubernetes cluster | ||||
|   block: | ||||
|     - name: Intilizing Kubernetes Cluster | ||||
|       #command: kubeadm init --pod-network-cidr "{{ KubernetesPodSubnet }}" --apiserver-advertise-address "{{ ansible_default_ipv4.address }}" --ignore-preflight-errors Mem --cri-socket=unix:///var/run/crio/crio.sock | ||||
|       command: kubeadm init --pod-network-cidr "{{ KubernetesPodSubnet }}" --service-cidr "{{ KubernetesServiceSubnet }}" --apiserver-advertise-address "0.0.0.0" --ignore-preflight-errors Mem #--cri-socket=unix:///var/run/containerd/containerd.sock | ||||
|       when:  | ||||
|         - not KubernetesInitialized.stat.exists | ||||
|  | ||||
|   rescue: | ||||
|     - name: Reset Kubeadmn | ||||
|       ansible.builtin.shell: "{{ item }}" | ||||
|       #register: kube_reset | ||||
|       failed_when: item.rc != 0 | ||||
|       with_items: | ||||
|         - kubeadm reset --force | ||||
|         - rm -Rf /etc/cni/net.d | ||||
|  | ||||
|  | ||||
| - name: Check if kubernetes has been Initialized | ||||
|   stat: | ||||
|     path: /etc/kubernetes/admin.conf | ||||
|   register: KubernetesInitialized | ||||
|   tags: | ||||
|     - always | ||||
|  | ||||
|  | ||||
| - name: fetch kubernetes health | ||||
|   ansible.builtin.shell: " wget http://localhost:10248/healthz -q -O - || true" | ||||
|   register: KubernetesHealth | ||||
|   changed_when: true == false | ||||
|   when: KubernetesInitialized.stat.exists | ||||
|   tags: | ||||
|     - always | ||||
|  | ||||
|  | ||||
| - name: set kubeernetes health fact | ||||
|   set_fact: | ||||
|     kube_health: "{{ KubernetesHealth.stdout | default(false) == 'ok' }}" | ||||
|   changed_when: true == false | ||||
|   tags: | ||||
|     - always | ||||
|  | ||||
|  | ||||
| - name: Create directory for kube config. | ||||
|   become_method: sudo | ||||
|   become: yes | ||||
|   file:  | ||||
|     #path: /home/{{ ansible_user }}/.kube | ||||
|     path: ~/.kube | ||||
|     state: directory | ||||
|     owner: "{{ ansible_user }}" | ||||
|     group: "{{ ansible_user }}" | ||||
|     mode: 0700 | ||||
|   # when: Kubernetes_Master | ||||
|   tags: | ||||
|     - always | ||||
|  | ||||
|  | ||||
| - name: Copy Kube config for local user | ||||
|   copy: | ||||
|     remote_src: yes | ||||
|     src: /etc/kubernetes/admin.conf | ||||
|     #dest: /home/{{ ansible_user }}/.kube/config | ||||
|     dest: ~/.kube/config | ||||
|     owner: "{{ ansible_user }}" | ||||
|     group: "{{ ansible_user }}" | ||||
|     mode: 0700 | ||||
|   tags: | ||||
|     - always | ||||
|  | ||||
|  | ||||
| - name: Add calico networking. | ||||
|   template: | ||||
|     src: "calico.yaml.j2" | ||||
|     dest: /etc/kubernetes/manifests/calico.yaml | ||||
|     owner: root | ||||
|     mode: 0744 | ||||
|  | ||||
|  | ||||
| - name: apply calico manifest | ||||
|   command: kubectl apply -f /etc/kubernetes/manifests/calico.yaml | ||||
|   tags: | ||||
|     - install | ||||
|     - manifest | ||||
|  | ||||
|  | ||||
| - name: create remote workdir | ||||
|   file: | ||||
|     path: "{{ item }}" | ||||
|     state: directory | ||||
|     mode: 0700 | ||||
|   with_items: | ||||
|     - /tmp/ansible/ | ||||
|   tags: | ||||
|     - always | ||||
|  | ||||
|  | ||||
| - name:  Create local workdir | ||||
|   file: | ||||
|     path: "{{ item }}" | ||||
|     state: directory | ||||
|     mode: 0700 | ||||
|   delegate_to: localhost | ||||
|   connection: local | ||||
|   with_items: | ||||
|     - /tmp/ansible/ | ||||
|   tags: | ||||
|     - always | ||||
|  | ||||
|  | ||||
| - name: get join command | ||||
|   ansible.builtin.shell: kubeadm token create --print-join-command > /tmp/ansible/join_kubernetes.sh | ||||
|   changed_when: true == false | ||||
|   tags: | ||||
|     - always | ||||
|  | ||||
|  | ||||
| - name: download join command | ||||
|   fetch: | ||||
|     src: /tmp/ansible/join_kubernetes.sh | ||||
|     dest: /tmp/ansible/ | ||||
|     flat: yes | ||||
|   changed_when: true == false | ||||
|   tags: | ||||
|     - always | ||||
|  | ||||
|  | ||||
|   # always: | ||||
|  | ||||
|   #   - name:  remove remote workdir | ||||
|   #     file: | ||||
|   #       path: "{{ item }}" | ||||
|   #       state: absent | ||||
|   #     with_items: | ||||
|   #       - /tmp/ansible/join_kubernetes.sh | ||||
|   #     changed_when: true == false | ||||
|  | ||||
|   # when:  | ||||
|   #   #- Kubernetes_Prime | ||||
|   #   #- KubernetesInit.stat.exists | ||||
|   #   - kubernetes_config.cluster.prime.name == inventory_hostname | ||||
|  | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user