3/5 - (2 votes)

Для керування Kubernetes за допомогою Ansible можна використовувати офіційний модуль Ansible під назвою k8s. Цей модуль дозволяє виконувати різні операції з ресурсами Kubernetes, такими як створення, оновлення та видалення об’єктів.

Ось приклади використання модуля k8s:

  1. Встановлення об’єктів Kubernetes з YAML-файлів:
- name: Застосувати конфігурацію Kubernetes з YAML-файлу
hosts: localhost
tasks:
- name: Застосувати конфігурацію з файлу
k8s:
state: present
src: path/to/your/yaml/file.yaml
  1. Видалення об’єктів Kubernetes за позначками:
- name: Видалити ресурси Kubernetes за мітками
hosts: localhost
tasks:
- name: Видалити об'єкти за мітками
k8s:
state: absent
kind: pod
label_selectors:
- name: app
value: myapp
  1. Оновлення ресурсів Kubernetes з YAML-файлів:
- name: Оновити конфігурацію ресурсів Kubernetes з YAML-файлу
hosts: localhost
tasks:
- name: Оновити конфігурацію з файлу
k8s:
state: present
src: path/to/your/updated/yaml/file.yaml

Перш ніж використовувати модуль k8s, переконайтеся, що ви встановили його, додавши його до файлу залежностей Ansible. Крім того, переконайтеся, що на вашому керованому вузлі налаштований доступ до API сервера Kubernetes.

  1. Отримання інформації про ресурси Kubernetes:
- name: Отримати інформацію про ресурси Kubernetes
hosts: localhost
tasks:
- name: Отримати список всіх повідомлень
k8s_facts:
kind: Pod
register: pod_info- debug:
var: pod_info.resources
  1. Масштабування ресурсів Kubernetes (наприклад, масштабування реплікаційних контролерів):
- name: Масштабувати реплікаційний контролер
hosts: localhost
tasks:
- name: Збільшити кількість реплік до 3
k8s:
state: scaled
kind: ReplicationController
name: my-replication-controller
replicas: 3
  1. Виконання операцій з Kubernetes за допомогою API запитів:
- name: Виконати операцію з Kubernetes API
hosts: localhost
tasks:
- name: Отримати інформацію про ноди за допомогою API запиту
k8s_raw:
resource: nodes
namespace: default
query_parameters:
labelSelector: kubernetes.io/role=node
register: nodes_info- debug:
var: nodes_info

Це лише невеликий набір прикладів того, як використовувати модуль k8s у Ansible для керування Kubernetes. Ви можете налаштувати та адаптувати їх під свої потреби, враховуючи особливості вашої інфраструктури та вимоги вашої програми.