istvano.microk8s

Ansible Rola: microk8s

Rola do pobierania i instalacji microk8s, najprostszego i najmniejszego K8s do produkcji.

Wymagania

  • Ansible >= 2.7
  • Dystrybucja Linuxa
    • Rodzina Debian
      • Ubuntu
        • Xenial (16.04)
        • Bionic (18.04)
        • Focal (20.04) (nieprzetestowane)
        • Jammy (22.04) (nieprzetestowane)
    • Arch Linux (nieprzetestowane)

Licencja

MIT

Użycie

Zmienne roli

Niektóre zmienne dostępne w tej roli są wymienione tutaj. Pełny zestaw znajduje się w [defaults/main.yml](defaults/main.yml).

  • microk8s_version: Wersja do użycia, domyślnie 1.27/stable.
  • microk8s_plugins: Włącz/wyłącz różne wtyczki. Łańcuch zostanie przekazany jako arg podczas włączania dodatku przy użyciu name:arg.
  • microk8s_enable_HA: Włącz/wyłącz wysoką dostępność.
  • microk8s_group_HA: Grupa hostów, których członkowie będą tworzyć klaster HA.
  • microk8s_group_WORKERS: Grupa hostów, których członkowie będą działać tylko jako węzły robocze (bez komponentów kontrolnych).
  • microk8s_csr_template: Jeśli zdefiniowane, spowoduje użycie niestandardowego CSR przy generowaniu certyfikatów.

Podstawowy playbook

- hosts: serwery
  roles:
    - role: istvano.microk8s
      vars:
        microk8s_plugins:
          dns: "1.1.1.1"
          istio: true
          ingress: true

Uwaga: przy zastępowaniu listy wtyczek zaleca się skopiowanie całej listy wtyczek z defaults/main.yml, ponieważ niektóre zadania Ansible się na nie powołują (np. helm3) i wdrożenie może nie powieść się.

Szablon niestandardowego żądania certyfikatu

Może być przydatne dostosowanie szablonu żądania certyfikatu używanego przez MicroK8s do generowania certyfikatów klastra. Na przykład można dodać dodatkowe SAN-y do certyfikatów, aby certyfikaty MicroK8s były ważne, gdy są używane z zewnątrz klastra, np. przez odwrotny proxy.

Aby wygenerować szablon CSR, najłatwiej jest prawdopodobnie użyć roli bez szablonu, a następnie skopiować CSR z /var/snap/microk8s/current/certs/csr.conf.template do katalogu szablonów swojego playbooka, edytować, a następnie ustawić zmienną microk8s_csr_template odpowiednio i ponownie uruchomić playbooka.

Dodawanie tylko węzłów roboczych (tylko 1.23+)

Można skonfigurować dodatkowe węzły, aby działały tylko jako węzły robocze w klastrze microk8s. Można to osiągnąć, konfigurując grupę hostów Ansible microk8s_WORKERS (nazwa grupy jest konfigurowalna za pomocą microk8s_group_WORKERS). Każdy host wymieniony w grupie hostów uruchomi microk8s join .... --worker, więcej informacji można znaleźć tutaj: mikrok8s-klastrowanie.

Testowanie

Użycie wrappera Molecule i systemowego Pythona

  • ./moleculew lint
  • ./moleculew create
  • ./moleculew list
  • ./moleculew check
  • ./moleculew test

Użycie środowiska wirtualnego Pythona

  • Skonfiguruj środowisko wirtualne
    $ python3 -m venv venv
    
  • Aktywuj środowisko
    $ . venv/bin/activate
    
  • Zainstaluj Molecule z opcjami lint i Docker
    $ pip install 'molecule[lint,docker]'
    
  • Zainstaluj aktualny pakiet Ansible, jeśli to konieczne
    $ pip install ansible
    
  • Wykonaj polecenia testowe:
    • molecule lint
    • molecule create
    • molecule list
    • molecule check
    • molecule test
O projekcie

Ansible role for installing and set-up microk8s.

Zainstaluj
ansible-galaxy install istvano.microk8s
Licencja
mit
Pobrania
31.6k
Właściciel