grycap.kubernetes

Rola Kubernetes

Ta rola ansible instaluje klaster Kubernetes.

Praca ta jest współfinansowana przez projekt EOSC-hub (Horyzont 2020) w ramach Grant nr 777536.

Zmienne Roli

Zmienne, które można przekazać do tej roli oraz ich krótkie opisy:

  • Wersja do zainstalowania lub najnowsza (1.24 lub wyższa)
    kube_version: 1.24.17

  • Typ węzła: front lub wn
    kube_type_of_node: front

  • Adres IP lub nazwa węzła frontowego Kube
    kube_server: "{{ ansible_default_ipv4.address }}"

  • Token zabezpieczeń
    kube_token: "kube01.{{ lookup('password', '/tmp/tokenpass chars=ascii_lowercase,digits length=16') }}"

  • Czas życia tokenu (0 nie wygasa)
    kube_token_ttl: 0

  • CIDR sieci POD
    kube_pod_network_cidr: 10.244.0.0/16

  • Rodzaj sieci do zainstalowania: obsługiwane obecnie: flannel, kube-router, calico, weave
    kube_network: flannel

  • Dodatkowe argumenty dla Kubelet
    kubelet_extra_args: ''

  • Opcje serwera API Kube
    kube_apiserver_options: []

  • Flaga do zainstalowania HELM
    kube_install_helm: true

  • Wersja HELM
    kube_install_helm_version: "v2.11.0"

  • Zainstaluj Dashboard
    kube_deploy_dashboard: false

  • Wartość do przekazania do opcji kubeadm init --apiserver-advertise-address
    kube_api_server: 0.0.0.0

  • Zbiór repozytoriów git i ścieżek do zastosowania w klastrze
    kube_apply_repos: []

  • Flaga do zainstalowania Metrics-Server
    kube_install_metrics: false

  • Flaga do zainstalowania kontrolera nginx ingress
    kube_install_ingress: false

  • Flaga do zainstalowania interfejsu użytkownika kubeapps
    kube_install_kubeapps: false

  • Wersja chartu KubeApps do zainstalowania (lub najnowsza)
    kube_kubeapps_chart_version: "7.3.2"

  • Dodatkowe opcje dla pluginu flannel
    kube_flanneld_extra_args: []

  • Włącz instalację i zarządzanie certyfikatami za pomocą Cert-manager
    kube_cert_manager: false

  • Publiczny adres IP do użycia przez cert-manager (nie jest potrzebny, jeśli kube_public_dns_name jest ustawiona)
    kube_cert_public_ip: "{{ ansible_default_ipv4.address }}"

  • Publiczna nazwa DNS do użycia w certyfikacie tls dashboardu
    kube_public_dns_name: ""

  • E-mail do użycia w wydawcy Let's Encrypt
    kube_cert_user_email: [email protected]

  • Zastąp domyślną wersję Dockera
    kube_docker_version: ""

  • Opcje do dodania do pliku docker.json
    kube_docker_options: {}

  • Zainstaluj Dockera z pip
    kube_install_docker_pip

  • Flagi polecenia do uruchamiania k3s w usłudze systemd
    kube_k3_exec: ""

  • Jak zainstalować K8s: kubeadm lub k3s
    kube_install_method: kubeadm

  • Serwery do instalacji i konfiguracji ntp. Jeśli [] ntp nie będzie skonfigurowane
    kube_ntp_servers: [ntp.upv.es, ntp.uv.es]

Przykładowy Playbook

Przykład, jak zainstalować tę rolę na węźle frontowym:

- hosts: server
  roles:
  - { role: 'grycap.kubernetes', kube_apiserver_options: [{option: "--insecure-port", value: "8080"}] }

A na WN:

- hosts: wn
  roles:
  - { role: 'grycap.kubernetes', kube_type_of_node: 'wn', kube_server: '10.0.0.1' }

Wkład w rolę

Aby utrzymać kod w czystości, wprowadzenie zmian w gałęzi master zostało wyłączone. Jeśli chcesz wnieść wkład, musisz stworzyć gałąź, przesłać swoje zmiany, a następnie utworzyć prośbę o scalenie.
Dziękuję!

O projekcie

Install Kubernetes cluster

Zainstaluj
ansible-galaxy install grycap.kubernetes
Licencja
apache-2.0
Pobrania
14.4k
Właściciel
Grid y Computación de Altas Prestaciones