Skip to content

Instantly share code, notes, and snippets.

@marthydavid
Last active January 10, 2025 00:22
Show Gist options
  • Save marthydavid/b63892d330bcc32f9ebc3c068e64058f to your computer and use it in GitHub Desktop.
Save marthydavid/b63892d330bcc32f9ebc3c068e64058f to your computer and use it in GitHub Desktop.
reddit-cloudinit
cloud_config:
users:
- name: ansible_user
ssh-authorized-keys:
- "ssh-rsa ..."
sudo: ['ALL=(ALL) NOPASSWD:ALL']
shell: /bin/bash
home: /home/ansible_user
yum_repos:
epel-release:
name: epel-release
baseurl: "https://download.fedoraproject.org/pub/epel/7/$basearch"
gpgcheck: false
enabled: true
packages:
- git
- ansible
- bash-completion
- ca-certificates
- kubectl
- jq
- wget
- tmux
- python3-pip
write_files:
- path: /etc/ansible/requirements.yaml
permissions: "0644"
content: |
roles:
- name: geerlingguy.kubernetes
version: 5.0.1
- path: /etc/ansible/playbooks/init-kubernetes.yaml
permissions: "0644"
content: |
- hosts: lab1
become: true
pre_tasks:
- name: Set hostname
hostname:
name: "{{ hostname }}"
roles:
- name: geerlingguy.kubernetes
- path: /etc/ansible/hosts
permissions: "0644"
content: |
all:
children:
lab1:
children:
lab1-masters:
hosts:
master01:
kubernetes_role: master
hostname: master01
lab1-nodes:
hosts:
worker01:
kubernetes_role: node
hostname: worker01
worker02:
hostname: worker02
kubernetes_role: node
vars:
kubernetes_allow_pods_on_master: true
kubernetes_pod_network:
cni: 'calico'
cidr: '192.168.176.0/20'
kubernetes_version_rhel_package: '1.19.7'
- path: /etc/hosts
permissions: "0644"
content: |
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.10.10.20 master01
10.10.10.30 worker01
10.10.10.31 worker02
10.10.10.40 mgmt lb
runcmd:
- pip3 install -U pip
- python3 -m pip install -U ansible openshift pyyaml dnspython
- echo -n "RSA_PRIVATEKEY_BASE64"|base64 -d > /home/ansible_user/.ssh/id_rsa
- chown -R ansible_user:ansible_user /home/ansible_user
- chmod 0600 /home/ansible_user/.ssh/id_rsa
- setenforce 0
- ansible-galaxy install -r /etc/ansible/requirements.txt
- ansible-playbook /etc/ansible/playbooks/init-kubernetes.yml
locale: en_US.UTF-8
final_message: "The system is finally up, after $UPTIME seconds"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment