ansible v2 (release 3.4.9)
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
|
||||
- name: Install yum packages
|
||||
yum:
|
||||
name: ['cloud-utils', 'ca-certificates', 'socat', 'conntrack', 'gnupg', 'bash-completion']
|
||||
name: ['cloud-utils', 'ca-certificates', 'socat', 'conntrack', 'gnupg', 'bash-completion', 'net-tools']
|
||||
state: present
|
||||
|
||||
- name: Disable firewalld
|
||||
@@ -71,3 +71,7 @@
|
||||
template:
|
||||
src: hosts.j2
|
||||
dest: /etc/hosts
|
||||
|
||||
- name: Disable SELinux
|
||||
ansible.posix.selinux:
|
||||
state: disabled
|
||||
@@ -42,4 +42,6 @@
|
||||
- name: Install kubernetes utils
|
||||
ansible.builtin.yum:
|
||||
name: ['kubelet-{{kubernetes_version}}','kubeadm-{{kubernetes_version}}','kubectl-{{kubernetes_version}}']
|
||||
exclude: kubernetes
|
||||
exclude: kubernetes
|
||||
notify:
|
||||
- Reload systemd configuration
|
||||
53
roles/cmoa_os_setting/tasks/01-centos-os-crio.yml
Normal file
53
roles/cmoa_os_setting/tasks/01-centos-os-crio.yml
Normal file
@@ -0,0 +1,53 @@
|
||||
---
|
||||
- name: Add crio yum repository
|
||||
command: sudo curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/CentOS_7/devel:kubic:libcontainers:stable.repo
|
||||
|
||||
- name: Add crio yum repository
|
||||
command: sudo curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable:cri-o:1.23.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:1.23/CentOS_7/devel:kubic:libcontainers:stable:cri-o:1.23.repo
|
||||
|
||||
- name: Create crio configuration directory
|
||||
file:
|
||||
path: /etc/containers/registries.conf.d
|
||||
state: directory
|
||||
|
||||
- name: Configure crio
|
||||
template:
|
||||
src: myregistry.conf.j2
|
||||
dest: /etc/containers/registries.conf.d/myregistry.conf
|
||||
notify:
|
||||
- Restart crio service
|
||||
|
||||
- name: Install required packages
|
||||
yum:
|
||||
name: ['crio']
|
||||
state: present
|
||||
notify:
|
||||
- Reload systemd configuration
|
||||
- Restart crio service
|
||||
|
||||
- meta: flush_handlers
|
||||
|
||||
- name: Enable crio service
|
||||
service:
|
||||
name: crio
|
||||
enabled: True
|
||||
state: started
|
||||
|
||||
- name: Add kubernetes yum repository
|
||||
ansible.builtin.yum_repository:
|
||||
name: kubernetes
|
||||
description: kubernetes
|
||||
baseurl: https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
|
||||
enabled: 1
|
||||
gpgcheck: 1
|
||||
gpgkey: https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
|
||||
|
||||
- name: Install kubernetes utils
|
||||
ansible.builtin.yum:
|
||||
name: ['kubelet-{{kubernetes_version}}','kubeadm-{{kubernetes_version}}','kubectl-{{kubernetes_version}}']
|
||||
exclude: kubernetes
|
||||
notify:
|
||||
- Reload systemd configuration
|
||||
|
||||
- name: Manual Daemon Reload
|
||||
command: systemctl daemon-reload
|
||||
58
roles/cmoa_os_setting/tasks/01-centos-os-docker.yml
Normal file
58
roles/cmoa_os_setting/tasks/01-centos-os-docker.yml
Normal file
@@ -0,0 +1,58 @@
|
||||
---
|
||||
- name: Add docker script
|
||||
command: curl -fsSL https://get.docker.com -o /root/get-docker.sh
|
||||
|
||||
- name: install docker
|
||||
command: sh /root/get-docker.sh
|
||||
|
||||
- name: Create docker configuration directory
|
||||
file:
|
||||
path: /etc/docker
|
||||
state: directory
|
||||
|
||||
#- name: Install required packages
|
||||
# yum:
|
||||
# name: ['docker-ce']
|
||||
# state: present
|
||||
# notify:
|
||||
# - Reload systemd configuration
|
||||
# - Restart docker service
|
||||
|
||||
- name: Configure docker
|
||||
template:
|
||||
src: daemon.json.j2
|
||||
dest: /etc/docker/daemon.json
|
||||
notify:
|
||||
- Reload systemd configuration
|
||||
- Restart docker service
|
||||
|
||||
#- name: Delete containerd config
|
||||
# file:
|
||||
# path: /etc/containerd/config.toml
|
||||
# state: absent
|
||||
# notify:
|
||||
# - Restart containerd service
|
||||
|
||||
- meta: flush_handlers
|
||||
|
||||
- name: Enable docker service
|
||||
service:
|
||||
name: docker
|
||||
enabled: True
|
||||
state: started
|
||||
|
||||
- name: Add kubernetes yum repository
|
||||
ansible.builtin.yum_repository:
|
||||
name: kubernetes
|
||||
description: kubernetes
|
||||
baseurl: https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
|
||||
enabled: 1
|
||||
gpgcheck: 1
|
||||
gpgkey: https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
|
||||
|
||||
- name: Install kubernetes utils
|
||||
ansible.builtin.yum:
|
||||
name: ['kubelet-{{kubernetes_version}}','kubeadm-{{kubernetes_version}}','kubectl-{{kubernetes_version}}']
|
||||
exclude: kubernetes
|
||||
notify:
|
||||
- Reload systemd configuration
|
||||
65
roles/cmoa_os_setting/tasks/01-ubuntu-os-crio.yml
Normal file
65
roles/cmoa_os_setting/tasks/01-ubuntu-os-crio.yml
Normal file
@@ -0,0 +1,65 @@
|
||||
---
|
||||
- name: Add crio yum repository
|
||||
command: sudo curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/CentOS_7/devel:kubic:libcontainers:stable.repo
|
||||
|
||||
- name: Add crio yum repository
|
||||
command: sudo curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable:cri-o:1.23.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:1.23/CentOS_7/devel:kubic:libcontainers:stable:cri-o:1.23.repo
|
||||
|
||||
- name: Create crio configuration directory
|
||||
file:
|
||||
path: /etc/containers/registries.conf.d
|
||||
state: directory
|
||||
|
||||
- name: Configure crio
|
||||
template:
|
||||
src: myregistry.conf.j2
|
||||
dest: /etc/containers/registries.conf.d/myregistry.conf
|
||||
notify:
|
||||
- Restart crio service
|
||||
|
||||
- name: Install required packages
|
||||
apt:
|
||||
name:
|
||||
- crio
|
||||
notify:
|
||||
- Reload systemd configuration
|
||||
- Restart crio service
|
||||
|
||||
- meta: flush_handlers
|
||||
|
||||
- name: Enable crio service
|
||||
service:
|
||||
name: crio
|
||||
enabled: True
|
||||
state: started
|
||||
|
||||
- name: Install kubernetes
|
||||
block:
|
||||
- name: 'Add kubernetes repo key'
|
||||
apt_key:
|
||||
url: https://packages.cloud.google.com/apt/doc/apt-key.gpg
|
||||
state: present
|
||||
become: true
|
||||
- name: Add kubernetes repository
|
||||
apt_repository:
|
||||
repo: deb http://apt.kubernetes.io kubernetes-xenial main
|
||||
state: present
|
||||
filename: 'kubernetes'
|
||||
become: true
|
||||
- name: Install kubernetes components
|
||||
apt:
|
||||
name: ['kubelet={{kubernetes_version}}-*', 'kubeadm={{kubernetes_version}}-*', 'kubectl={{kubernetes_version}}-*']
|
||||
state: present
|
||||
update_cache: yes
|
||||
force: yes
|
||||
dpkg_options: force-downgrade
|
||||
|
||||
- name: Hold kubernetes packages
|
||||
dpkg_selections:
|
||||
name: "{{item}}"
|
||||
selection: hold
|
||||
with_items:
|
||||
- kubelet
|
||||
- kubectl
|
||||
- kubeadm
|
||||
|
||||
50
roles/cmoa_os_setting/tasks/01-ubuntu-os-docker.yml
Normal file
50
roles/cmoa_os_setting/tasks/01-ubuntu-os-docker.yml
Normal file
@@ -0,0 +1,50 @@
|
||||
---
|
||||
- name: Add docker script
|
||||
command: curl -fsSL https://get.docker.com -o /root/get-docker.sh
|
||||
|
||||
- name: install docker
|
||||
command: sh /root/get-docker.sh
|
||||
|
||||
- name: Create docker configuration directory
|
||||
file:
|
||||
path: /etc/docker
|
||||
state: directory
|
||||
|
||||
- name: Configure docker
|
||||
template:
|
||||
src: daemon.json.j2
|
||||
dest: /etc/docker/daemon.json
|
||||
notify:
|
||||
- Reload systemd configuration
|
||||
- Restart docker service
|
||||
|
||||
- name: Install kubernetes
|
||||
block:
|
||||
- name: 'Add kubernetes repo key'
|
||||
apt_key:
|
||||
url: https://packages.cloud.google.com/apt/doc/apt-key.gpg
|
||||
state: present
|
||||
become: true
|
||||
- name: Add kubernetes repository
|
||||
apt_repository:
|
||||
repo: deb http://apt.kubernetes.io kubernetes-xenial main
|
||||
state: present
|
||||
filename: 'kubernetes'
|
||||
become: true
|
||||
- name: Install kubernetes components
|
||||
apt:
|
||||
name: ['kubelet={{kubernetes_version}}-*', 'kubeadm={{kubernetes_version}}-*', 'kubectl={{kubernetes_version}}-*']
|
||||
state: present
|
||||
update_cache: yes
|
||||
force: yes
|
||||
dpkg_options: force-downgrade
|
||||
|
||||
- name: Hold kubernetes packages
|
||||
dpkg_selections:
|
||||
name: "{{item}}"
|
||||
selection: hold
|
||||
with_items:
|
||||
- kubelet
|
||||
- kubectl
|
||||
- kubeadm
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
- name: Get kubeconfig
|
||||
fetch:
|
||||
src: /etc/kubernetes/admin.conf
|
||||
dest: ~/.kube/ansible_config
|
||||
dest: /tmp/ansible_config
|
||||
flat: yes
|
||||
when: kubernetes_role == 'master'
|
||||
|
||||
@@ -40,6 +40,8 @@
|
||||
|
||||
- include_tasks: 05-k8s-node.yml
|
||||
when: kubernetes_role == 'node'
|
||||
|
||||
|
||||
|
||||
- include_tasks: 06-worker-directory.yml
|
||||
when: kubernetes_role == 'node'
|
||||
|
||||
|
||||
@@ -32,6 +32,12 @@
|
||||
dest: ~/.kube/ansible_config
|
||||
remote_src: true
|
||||
|
||||
- name: Get kubeconfig
|
||||
fetch:
|
||||
src: /etc/kubernetes/admin.conf
|
||||
dest: ~/.kube/ansible_config
|
||||
flat: yes
|
||||
|
||||
- name: Configure Calico networking and Metric Server
|
||||
include_tasks: 04-k8s-master-yaml.yml
|
||||
|
||||
|
||||
@@ -1,15 +1,21 @@
|
||||
---
|
||||
- name: Copy calico yaml
|
||||
template:
|
||||
src: calico.yaml.j2
|
||||
dest: /tmp/calico.yaml
|
||||
|
||||
- name: Copy metric server yaml
|
||||
template:
|
||||
src: components.yaml.j2
|
||||
dest: /tmp/components.yaml
|
||||
|
||||
- name: Configure Calico networking.
|
||||
command: "{{ item }}"
|
||||
with_items:
|
||||
- kubectl apply -f {{ kubernetes_calico_manifest_file }}
|
||||
command: kubectl apply -f /tmp/calico.yaml
|
||||
register: calico_result
|
||||
changed_when: "'created' in calico_result.stdout"
|
||||
when: kubernetes_pod_network.cni == 'calico'
|
||||
|
||||
- name: Configure Metric Server
|
||||
command: "{{ item }}"
|
||||
with_items:
|
||||
- kubectl apply -f {{ kubernetes_metric_server_file }}
|
||||
command: kubectl apply -f /tmp/components.yaml
|
||||
register: metric_server_result
|
||||
changed_when: "'created' in metric_server_result.stdout"
|
||||
|
||||
@@ -1,19 +1,35 @@
|
||||
---
|
||||
- include: 00-centos-os-main.yml
|
||||
tags: centos
|
||||
when: ansible_distribution == 'CentOS'
|
||||
when: ansible_distribution == 'CentOS'
|
||||
|
||||
- include: 00-ubuntu-os-main.yml
|
||||
tags: ubuntu
|
||||
when: ansible_distribution == 'Ubuntu'
|
||||
|
||||
- include: 01-centos-os-runtime.yml
|
||||
tags: centos
|
||||
when: ansible_distribution == 'CentOS'
|
||||
- include: 01-centos-os-docker.yml
|
||||
tags: cent-docker
|
||||
when: ansible_distribution == 'CentOS' and runtime == 'docker'
|
||||
|
||||
- include: 01-ubuntu-os-runtime.yml
|
||||
tags: ubuntu
|
||||
when: ansible_distribution == 'Ubuntu'
|
||||
- include: 01-centos-os-containerd.yml
|
||||
tags: cent-containerd
|
||||
when: ansible_distribution == 'CentOS' and runtime == 'containerd'
|
||||
|
||||
- include: 01-centos-os-crio.yml
|
||||
tags: cent-crio
|
||||
when: ansible_distribution == 'CentOS' and runtime == 'crio'
|
||||
|
||||
- include: 01-ubuntu-os-docker.yml
|
||||
tags: ubuntu-docker
|
||||
when: ansible_distribution == 'Ubuntu' and runtime == 'docker'
|
||||
|
||||
- include: 01-ubuntu-os-containerd.yml
|
||||
tags: ubuntu-containerd
|
||||
when: ansible_distribution == 'Ubuntu' and runtime == 'containerd'
|
||||
|
||||
- include: 01-ubuntu-os-crio.yml
|
||||
tags: ubuntu-crio
|
||||
when: ansible_distribution == 'Ubuntu' and runtime == 'crio'
|
||||
|
||||
- include: 02-k8s-main.yml
|
||||
tags: k8s-main
|
||||
|
||||
Reference in New Issue
Block a user