feat: Добавлена поддержка ARM64 для Astra Linux и обновлена документация
- Создан совместимый образ Astra Linux для ARM64 на базе Debian - Добавлена команда make docker build-astra-arm64 для сборки ARM64 версии - Обновлена документация по Docker образам с информацией о ARM64 поддержке - Создан новый файл docs/arm64-support.md с подробным описанием ARM64 поддержки - Обновлен README.md с информацией о multi-arch поддержке - Добавлена информация о ALT Linux P9/P10 с поддержкой ARM64 Автор: Сергей Антропов Сайт: https://devops.org.ru
This commit is contained in:
@@ -115,7 +115,7 @@
|
||||
networks:
|
||||
- name: "{{ docker_network }}"
|
||||
privileged: "{{ systemd_defaults.privileged }}"
|
||||
command: "{{ systemd_defaults.command }}"
|
||||
command: "{{ '/bin/bash -c \"while true; do sleep 30; done\"' if item.family in ['alt10', 'alt9'] else systemd_defaults.command }}"
|
||||
volumes: "{{ systemd_defaults.volumes | default([]) + (item.volumes | default([])) }}"
|
||||
tmpfs: "{{ systemd_defaults.tmpfs | default([]) }}"
|
||||
capabilities: "{{ systemd_defaults.capabilities | default([]) }}"
|
||||
@@ -123,7 +123,7 @@
|
||||
env: "{{ item.env | default({}) }}"
|
||||
# Специальные настройки для Astra Linux и RedOS (для совместимости с amd64 базовыми образами)
|
||||
security_opts: "{{ ['seccomp=unconfined', 'apparmor=unconfined'] if item.family in ['astra', 'redos'] else [] }}"
|
||||
platform: "{{ 'linux/amd64' if item.family in ['astra', 'redos'] else omit }}"
|
||||
platform: "{{ 'linux/amd64' if item.family in ['astra', 'redos', 'alt10', 'alt9'] else omit }}"
|
||||
state: started
|
||||
restart_policy: unless-stopped
|
||||
loop: "{{ hosts | selectattr('type','undefined') | list }}"
|
||||
@@ -133,9 +133,69 @@
|
||||
# Ожидание стабилизации контейнеров
|
||||
- name: Wait for containers to be ready
|
||||
pause:
|
||||
seconds: 5
|
||||
seconds: 10
|
||||
when: hosts | length > 0
|
||||
|
||||
# Проверка готовности контейнеров
|
||||
- name: Wait for containers to be running
|
||||
community.docker.docker_container_info:
|
||||
name: "{{ item.name }}"
|
||||
register: container_info
|
||||
loop: "{{ hosts | selectattr('type','undefined') | list }}"
|
||||
loop_control: { label: "{{ item.name }}" }
|
||||
when: item.family is defined and images[item.family] is defined
|
||||
retries: 10
|
||||
delay: 5
|
||||
until: container_info.container.State.Running | default(false)
|
||||
|
||||
# Установка необходимых пакетов в контейнерах (Debian/Ubuntu)
|
||||
- name: Install essential packages in containers (Debian/Ubuntu)
|
||||
community.docker.docker_container_exec:
|
||||
container: "{{ item.name }}"
|
||||
command: "sh -c 'apt-get update && apt-get install -y sudo python3 python3-pip curl wget'"
|
||||
loop: "{{ hosts | selectattr('type','undefined') | list }}"
|
||||
loop_control: { label: "{{ item.name }}" }
|
||||
when: item.family is defined and images[item.family] is defined and item.family in ['ubuntu', 'debian', 'alt10', 'alt9']
|
||||
ignore_errors: true
|
||||
retries: 3
|
||||
delay: 5
|
||||
|
||||
# Установка необходимых пакетов в контейнерах (RHEL/CentOS/AlmaLinux/Rocky)
|
||||
- name: Install essential packages in containers (RHEL/CentOS/AlmaLinux/Rocky)
|
||||
community.docker.docker_container_exec:
|
||||
container: "{{ item.name }}"
|
||||
command: "sh -c 'yum update -y && yum install -y sudo python3 python3-pip curl wget'"
|
||||
loop: "{{ hosts | selectattr('type','undefined') | list }}"
|
||||
loop_control: { label: "{{ item.name }}" }
|
||||
when: item.family is defined and images[item.family] is defined and item.family in ['rhel', 'centos', 'alma', 'rocky', 'redos']
|
||||
ignore_errors: true
|
||||
retries: 3
|
||||
delay: 5
|
||||
|
||||
# Установка необходимых пакетов в контейнерах (Astra Linux)
|
||||
- name: Install essential packages in containers (Astra Linux)
|
||||
community.docker.docker_container_exec:
|
||||
container: "{{ item.name }}"
|
||||
command: "sh -c 'apt-get update && apt-get install -y sudo python3 python3-pip curl wget'"
|
||||
loop: "{{ hosts | selectattr('type','undefined') | list }}"
|
||||
loop_control: { label: "{{ item.name }}" }
|
||||
when: item.family is defined and images[item.family] is defined and item.family == 'astra'
|
||||
ignore_errors: true
|
||||
retries: 3
|
||||
delay: 5
|
||||
|
||||
# Установка необходимых пакетов в контейнерах (Alt Linux)
|
||||
- name: Install essential packages in containers (Alt Linux)
|
||||
community.docker.docker_container_exec:
|
||||
container: "{{ item.name }}"
|
||||
command: "sh -c 'apt-get update && apt-get install -y sudo python3 python3-pip curl wget'"
|
||||
loop: "{{ hosts | selectattr('type','undefined') | list }}"
|
||||
loop_control: { label: "{{ item.name }}" }
|
||||
when: item.family is defined and images[item.family] is defined and item.family in ['alt10', 'alt9']
|
||||
ignore_errors: true
|
||||
retries: 3
|
||||
delay: 5
|
||||
|
||||
# Создание tmp директории в контейнерах
|
||||
- name: Create Ansible tmp directory in containers
|
||||
community.docker.docker_container_exec:
|
||||
@@ -145,8 +205,8 @@
|
||||
loop_control: { label: "{{ item.name }}" }
|
||||
when: item.family is defined and images[item.family] is defined
|
||||
ignore_errors: true
|
||||
retries: 3
|
||||
delay: 2
|
||||
retries: 5
|
||||
delay: 3
|
||||
|
||||
# DinD nodes
|
||||
- name: Start DinD nodes (docker:27-dind)
|
||||
|
||||
Reference in New Issue
Block a user