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

1.8 KiB

2-create-initial-controlplane.yml

---
- name: Deploy Rancher on a Kubernetes cluster
  hosts: your_target_host
  become: true
  gather_facts: yes
  tasks:
    - name: Download and install the RKE2 server deployment script
      ansible.builtin.shell: |
        curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE=server sh -

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

    - name: Create symlink for kubectl
      ansible.builtin.command: |
        ln -s $(find /var/lib/rancher/rke2/data/ -name kubectl) /usr/local/bin/kubectl

    - name: Temporarily export the Kubeconfig
      ansible.builtin.shell: |
        export KUBECONFIG=/etc/rancher/rke2/rke2.yaml

    - name: Install Helm
      ansible.builtin.shell: |
        curl -#L https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

    - name: Add Helm repos for Rancher and Jetstack
      ansible.builtin.shell: |
        helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
        helm repo add jetstack https://charts.jetstack.io

    - name: Install Cert-Manager CRDs
      ansible.builtin.shell: |
        kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.6.1/cert-manager.crds.yaml

    - name: Install Jetstack cert-manager via Helm
      ansible.builtin.shell: |
        helm upgrade -i cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace

    - name: Install Rancher via Helm
      ansible.builtin.shell: |
        helm upgrade -i rancher rancher-latest/rancher --create-namespace --namespace cattle-system --set hostname=rancher.cyberstrawberry.net --set bootstrapPassword=bootStrapAllTheThings --set replicas=1