feat: update control plane role
This commit is contained in:
@@ -0,0 +1,13 @@
|
|||||||
|
- name: Ensure Longhorn repository exists
|
||||||
|
kubernetes.core.helm_repository:
|
||||||
|
name: longhorn
|
||||||
|
url: https://charts.longhorn.io
|
||||||
|
|
||||||
|
- name: Ensure Longhorn is installed
|
||||||
|
kubernetes.core.helm:
|
||||||
|
release_name: longhorn
|
||||||
|
release_namespace: longhorn-system
|
||||||
|
chart_ref: longhorn/longhorn
|
||||||
|
chart_version: 1.12.0
|
||||||
|
create_namespace: true
|
||||||
|
run_once: true
|
||||||
@@ -1,65 +1,63 @@
|
|||||||
- name: Install kube-vip
|
- name: Install kube-vip static pod
|
||||||
ansible.builtin.import_tasks: kube-vip.yaml
|
ansible.builtin.import_tasks: kube-vip.yaml
|
||||||
|
|
||||||
|
- name: Copy kubeadm config
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: kubeadm-config.yaml.j2
|
||||||
|
dest: /tmp/kubeadm-config.yaml
|
||||||
|
mode: "0600"
|
||||||
|
|
||||||
- name: Initialise Kubernetes cluster
|
- name: Initialise Kubernetes cluster
|
||||||
ansible.builtin.command:
|
ansible.builtin.command: kubeadm init --config /tmp/kubeadm-config.yaml
|
||||||
argv:
|
|
||||||
- kubeadm
|
|
||||||
- init
|
|
||||||
- --pod-network-cidr=172.16.0.0/16
|
|
||||||
- --control-plane-endpoint={{ vip_address }}:6443
|
|
||||||
- --upload-certs
|
|
||||||
args:
|
args:
|
||||||
creates: /etc/kubernetes/admin.conf
|
creates: /etc/kubernetes/admin.conf
|
||||||
run_once: true
|
run_once: true
|
||||||
|
|
||||||
|
|
||||||
|
- name: Copy Kubernetes Admin Configuration
|
||||||
|
ansible.builtin.include_tasks: copy-config.yaml
|
||||||
|
run_once: true
|
||||||
|
|
||||||
|
|
||||||
- name: Generate Join Command
|
- name: Generate Join Command
|
||||||
ansible.builtin.command:
|
ansible.builtin.command: kubeadm token create --print-join-command
|
||||||
argv:
|
|
||||||
- kubeadm
|
|
||||||
- token
|
|
||||||
- create
|
|
||||||
- --print-join-command
|
|
||||||
register: kubernetes_control_plane_join_command
|
register: kubernetes_control_plane_join_command
|
||||||
run_once: true
|
run_once: true
|
||||||
changed_when: true
|
changed_when: true
|
||||||
|
|
||||||
|
|
||||||
- name: Get Certificate Key
|
- name: Get Certificate Key
|
||||||
ansible.builtin.shell:
|
ansible.builtin.shell: set -o pipefail && kubeadm init phase upload-certs --upload-certs | tail -n 1
|
||||||
cmd: set -o pipefail && kubeadm init phase upload-certs --upload-certs | tail -n 1
|
|
||||||
register: kubernetes_control_plane_certificate_key
|
register: kubernetes_control_plane_certificate_key
|
||||||
run_once: true
|
run_once: true
|
||||||
changed_when: true
|
changed_when: true
|
||||||
|
|
||||||
|
|
||||||
- name: Join Additional Control Planes
|
- name: Join Additional Control Planes
|
||||||
ansible.builtin.command:
|
ansible.builtin.command: >-
|
||||||
cmd: "{{ kubernetes_control_plane_join_command.stdout }} --control-plane --certificate-key {{ kubernetes_control_plane_certificate_key.stdout }}"
|
{{ kubernetes_control_plane_join_command.stdout }}
|
||||||
|
--control-plane
|
||||||
|
--certificate-key
|
||||||
|
{{ kubernetes_control_plane_certificate_key.stdout }}
|
||||||
args:
|
args:
|
||||||
creates: /etc/kubernetes/admin.conf
|
creates: /etc/kubernetes/admin.conf
|
||||||
|
|
||||||
- name: Copy Kubernetes Admin Config
|
|
||||||
ansible.builtin.command: "{{ item }}"
|
- name: Copy Kubernetes Admin Configuration
|
||||||
loop:
|
ansible.builtin.include_tasks: copy-config.yaml
|
||||||
- mkdir -p $HOME/.kube
|
|
||||||
- cp /etc/kubernetes/admin.conf $HOME/.kube/config
|
|
||||||
- chown $(id -u):$(id -g) $HOME/.kube/config
|
|
||||||
args:
|
|
||||||
creates: $HOME/.kube/config
|
|
||||||
|
|
||||||
- name: Untaint control planes
|
- name: Untaint control planes
|
||||||
ansible.builtin.import_tasks: untaint.yaml
|
ansible.builtin.import_tasks: untaint.yaml
|
||||||
|
|
||||||
- name: Install Kubernetes CLI
|
|
||||||
ansible.builtin.apt:
|
|
||||||
pkg:
|
|
||||||
- kubectl
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Install Helm
|
- name: Install Tools
|
||||||
ansible.builtin.import_tasks: helm.yaml
|
ansible.builtin.import_tasks: tools.yaml
|
||||||
|
|
||||||
|
|
||||||
- name: Install Cilium CNI
|
- name: Install Cilium CNI
|
||||||
ansible.builtin.import_tasks: cilium.yaml
|
ansible.builtin.import_tasks: cilium.yaml
|
||||||
|
|
||||||
|
|
||||||
|
# - name: Install Longhorn CSI
|
||||||
|
# ansible.builtin.import_tasks: longhorn.yaml
|
||||||
|
|||||||
+5
-2
@@ -8,8 +8,11 @@
|
|||||||
signed_by: https://packages.buildkite.com/helm-linux/helm-debian/gpgkey
|
signed_by: https://packages.buildkite.com/helm-linux/helm-debian/gpgkey
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: Install Helm
|
|
||||||
|
- name: Install Kubernetes Tools
|
||||||
ansible.builtin.apt:
|
ansible.builtin.apt:
|
||||||
name: helm
|
pkg:
|
||||||
|
- kubectl
|
||||||
|
- helm
|
||||||
state: present
|
state: present
|
||||||
update_cache: true
|
update_cache: true
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
# Configuration reference can be found at https://kubernetes.io/docs/reference/config-api/kubeadm-config.v1beta4/
|
||||||
|
apiVersion: kubeadm.k8s.io/v1beta4
|
||||||
|
kind: InitConfiguration
|
||||||
|
---
|
||||||
|
apiVersion: kubeadm.k8s.io/v1beta4
|
||||||
|
kind: ClusterConfiguration
|
||||||
|
clusterName: aeon
|
||||||
|
controlPlaneEndpoint: "{{ vip_address }}"
|
||||||
|
---
|
||||||
|
apiVersion: kubelet.config.k8s.io/v1beta1
|
||||||
|
kind: KubeletConfiguration
|
||||||
|
cgroupDriver: systemd
|
||||||
|
failSwapOn: false
|
||||||
|
memorySwap:
|
||||||
|
swapBehaviour: LimitedSwap
|
||||||
Reference in New Issue
Block a user