main.yml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. ---
  2. - name: add kubernetes repo
  3. copy: src=kubernetes.repo dest=/etc/yum.repos.d/ owner=root group=root mode=644
  4. tags: install
  5. # add ElRepo GPG Key
  6. - rpm_key:
  7. state: present
  8. key: https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
  9. tags: install
  10. - name: add ElRepo (Nvidia kmod drivers)
  11. yum:
  12. name: http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
  13. state: present
  14. tags: install
  15. - name: update sysctl to handle incorrectly routed traffic when iptables is bypassed
  16. copy: src=k8s.conf dest=/etc/sysctl.d/ owner=root group=root mode=644
  17. tags: install
  18. - name: update sysctl
  19. command: /sbin/sysctl --system
  20. tags: install
  21. - name: Install EPEL Repository
  22. yum: name=epel-release state=present
  23. tags: install
  24. #likely need to add a reboot hook in here
  25. #- name: update kernel and all other system packages
  26. #yum: name=* state=latest
  27. #tags: install
  28. - name: disable swap
  29. command: /sbin/swapoff -a
  30. tags: install
  31. # Disable selinux
  32. - selinux:
  33. state: disabled
  34. tags: install
  35. - name: install common packages
  36. yum:
  37. name:
  38. - gcc
  39. - nfs-utils
  40. - python-pip
  41. - docker
  42. - bash-completion
  43. - kubelet
  44. - kubeadm
  45. - kubectl
  46. - nvidia-detect
  47. state: present
  48. tags: install
  49. - name: install InfiniBand Support
  50. yum:
  51. name: "@Infiniband Support"
  52. state: present
  53. - name: Install KSonnet
  54. unarchive:
  55. src: https://github.com/ksonnet/ksonnet/releases/download/v0.13.1/ks_0.13.1_linux_amd64.tar.gz
  56. dest: /usr/bin/
  57. extra_opts: [--strip-components=1]
  58. remote_src: yes
  59. exclude:
  60. - ks_0.11.0_linux_amd64/CHANGELOG.md
  61. - ks_0.11.0_linux_amd64/CODE-OF-CONDUCT.md
  62. - ks_0.11.0_linux_amd64/CONTRIBUTING.md
  63. - ks_0.11.0_linux_amd64/LICENSE
  64. - ks_0.11.0_linux_amd64/README.md
  65. tags: install
  66. - name: upgrade pip
  67. command: /bin/pip install --upgrade pip
  68. tags: install
  69. #- name: Enable DevicePlugins for all GPU nodes (nvidia-container-runtime-hook)
  70. #copy: src=nvidia dest=/usr/libexec/oci/hooks.d/ owner=root group=root mode=755
  71. #tags: install
  72. - name: Add KUBE_EXTRA_ARGS to enable GPUs
  73. lineinfile:
  74. path: /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
  75. line: 'Environment="KUBELET_EXTRA_ARGS=--feature-gates=DevicePlugins=true"'
  76. insertbefore: 'KUBELET_KUBECONFIG_ARGS='
  77. tags: install
  78. - name: Start and Enable docker service
  79. service:
  80. name: docker
  81. state: restarted
  82. enabled: yes
  83. tags: install
  84. - name: Start and Enable Kubernetes - kubelet
  85. service:
  86. name: kubelet
  87. state: restarted
  88. enabled: yes
  89. tags: install
  90. - name: Start and rpcbind service
  91. service:
  92. name: rpcbind
  93. state: restarted
  94. enabled: yes
  95. tags: install
  96. - name: Start and nfs-server service
  97. service:
  98. name: nfs-server
  99. state: restarted
  100. enabled: yes
  101. tags: install
  102. - name: Start and nfs-lock service
  103. service:
  104. name: nfs-lock
  105. state: restarted
  106. enabled: yes
  107. tags: install
  108. - name: Start and nfs-idmap service
  109. service:
  110. name: nfs-idmap
  111. state: restarted
  112. enabled: yes
  113. tags: install