123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- ---
- - name: Turn Swap OFF (if not already disabled)
- command: /usr/sbin/swapoff -a
- tags: init
- - name: Initialize kubeadm
- command: /bin/kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=10.0.0.1
- #command: /bin/kubeadm init
- register: init_output
- tags: init
- - name: Setup Directory for Kubernetes environment for root
- file: path=/root/.kube state=directory
- tags: init
- - name: Copy Kubernetes Config for root #do this for other users too?
- copy: src=/etc/kubernetes/admin.conf dest=/root/.kube/config owner=root group=root mode=644
- tags: init
- - name: Cluster token
- shell: kubeadm token list | cut -d ' ' -f1 | sed -n '2p'
- register: K8S_TOKEN
- tags: init
- - name: CA Hash
- shell: openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
- register: K8S_MASTER_CA_HASH
- tags: init
- - name: Add K8S Master IP, Token, and Hash to dummy host
- add_host:
- name: "K8S_TOKEN_HOLDER"
- token: "{{ K8S_TOKEN.stdout }}"
- hash: "{{ K8S_MASTER_CA_HASH.stdout }}"
- #ip: "{{ ansible_ib0.ipv4.address }}"
- ip: "{{ ansible_p3p1.ipv4.address }}"
- tags: init
- - name:
- debug:
- msg: "[Master] K8S_TOKEN_HOLDER K8S token is {{ hostvars['K8S_TOKEN_HOLDER']['token'] }}"
- tags: init
- - name:
- debug:
- msg: "[Master] K8S_TOKEN_HOLDER K8S Hash is {{ hostvars['K8S_TOKEN_HOLDER']['hash'] }}"
- tags: init
- - name:
- debug:
- msg: "[Master] K8S_MASTER_IP is {{ hostvars['K8S_TOKEN_HOLDER']['ip'] }}"
- tags: init
-
- - name: Setup Flannel SDN network
- shell: kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
- tags: init
- - name: Enabled GPU support in Kubernetes
- #script: enable_gpu_k8s.sh
- shell: kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/1.0.0-beta4/nvidia-device-plugin.yml
- #https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v1.11/nvidia-device-plugin.yml
- register: gpu_enable
- tags: init
- - name: Create yaml repo for setup
- file:
- path: /root/k8s
- state: directory
- tags: init
- - name: Create Service Account (K8S Dashboard) Files
- copy: src=create_admin_user.yaml dest=/root/k8s/create_admin_user.yaml owner=root group=root mode=655
- tags: init
- - name: Create Service Account (K8S Dashboard) - Create
- shell: kubectl create -f /root/k8s/create_admin_user.yaml
- tags: init
- - name: Create ClusterRoleBinding (K8S Dashboard) Files
- copy: src=create_clusterRoleBinding.yaml dest=/root/k8s/create_clusterRoleBinding.yaml owner=root group=root mode=655
- tags: init
- - name: Create ClusterRoleBinding (K8S Dashboard) - Apply
- shell: kubectl create -f /root/k8s/create_clusterRoleBinding.yaml
- tags: init
- - name: Dump Bearer Token for K8S Dashboard Login
- shell: kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') > /root/k8s/token
- tags: init
- # If more debug information is needed during init uncomment the following 2 lines
- #- debug: var=init_output.stdout_lines
- #tags: init
|