Files
docs/Container Documentation/Kubernetes/RKE2 Playbooks/3A-deploy-additional-controlplane.yml.md
Nicole Rappe b9aeaabbfb Initial Commit
Bringing Documentation into Gitea
2023-12-21 01:15:09 -07:00

1.5 KiB

3A-deploy-additional-controlplane.yml

---
- name: RKE2 Kubernetes Cluster Deployment
  hosts: all
  become: yes
  tasks:
    - name: Download and install RKE2 server
      shell: "curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE=server sh -"

    - name: Symlink the Kubectl Management Command
      command: "ln -s {{ item }} /usr/local/bin/kubectl"
      args:
        creates: "/usr/local/bin/kubectl"
      with_items:
        - "{{ find_kubectl.stdout }}"
      vars:
        find_kubectl:
          cmd: "find /var/lib/rancher/rke2/data/ -name kubectl"

    - name: Create Rancher-Kubernetes-specific config directory
      file:
        path: "/etc/rancher/rke2/"
        state: directory

    - name: Inject IP of Primary Cluster Host (First Node) into Config File
      lineinfile:
        path: "/etc/rancher/rke2/config.yaml"
        line: "server: https://192.168.3.21:9345"

    - name: Get the node token from the first node in the cluster
      shell: "cat /var/lib/rancher/rke2/server/node-token"
      register: node_token
      run_once: true
      when: "'first_node' in group_names"

    - name: Inject the Primary Cluster Host trust token into the config file
      lineinfile:
        path: "/etc/rancher/rke2/config.yaml"
        line: "token: {{ node_token.stdout }}"

    - name: Enable and start the RKE2 server service
      systemd:
        name: rke2-server.service
        state: started
        enabled: yes