Some checks failed
		
		
	
	Ansible Testing / lint (push) Has been cancelled
				
			Ansible Testing / test (default) (push) Has been cancelled
				
			Ansible Testing / test (minimal) (push) Has been cancelled
				
			Ansible Testing / test (performance) (push) Has been cancelled
				
			Ansible Testing / deploy-check (push) Has been cancelled
				
			- Создан новый Docker образ k8s для работы с Kind, kubectl, Helm, Istio CLI - Добавлены команды make k8s: create, destroy, stop, start, status, config, nodes, addon, shell - Добавлена поддержка пресетов Kubernetes в molecule/presets/k8s/ - Создан скрипт create_k8s_cluster.py для автоматического создания кластеров и установки аддонов - Добавлена документация docs/kubernetes-kind.md - Команды kubectl выполняются внутри контейнера k8s, не требуют локальной установки
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| # Kubernetes Kind Container - Multi-Arch
 | |
| # Автор: Сергей Антропов
 | |
| # Сайт: https://devops.org.ru
 | |
| 
 | |
| ARG TARGETARCH
 | |
| 
 | |
| FROM ubuntu:22.04
 | |
| 
 | |
| # Обновляем систему
 | |
| RUN apt-get update && apt-get upgrade -y && apt-get clean
 | |
| 
 | |
| # Устанавливаем базовые пакеты
 | |
| RUN apt-get install -y \
 | |
|     wget \
 | |
|     curl \
 | |
|     git \
 | |
|     vim \
 | |
|     bash \
 | |
|     ca-certificates \
 | |
|     python3 \
 | |
|     python3-yaml \
 | |
|     file \
 | |
|     apt-transport-https \
 | |
|     gnupg \
 | |
|     lsb-release \
 | |
|     && apt-get clean
 | |
| 
 | |
| # Устанавливаем Docker CLI
 | |
| RUN DOCKER_VERSION=20.10.24 && \
 | |
|     if [ "${TARGETARCH}" = "amd64" ]; then \
 | |
|         wget -O /tmp/docker-cli.tgz "https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_VERSION}.tgz" && \
 | |
|         tar -xz -C /tmp -f /tmp/docker-cli.tgz && \
 | |
|         mv /tmp/docker/docker /usr/local/bin/ && \
 | |
|         rm -rf /tmp/docker-cli.tgz /tmp/docker; \
 | |
|     else \
 | |
|         wget -O /tmp/docker-cli.tgz "https://download.docker.com/linux/static/stable/aarch64/docker-${DOCKER_VERSION}.tgz" && \
 | |
|         tar -xz -C /tmp -f /tmp/docker-cli.tgz && \
 | |
|         mv /tmp/docker/docker /usr/local/bin/ && \
 | |
|         rm -rf /tmp/docker-cli.tgz /tmp/docker; \
 | |
|     fi && \
 | |
|     chmod +x /usr/local/bin/docker
 | |
| 
 | |
| # Устанавливаем kubectl
 | |
| RUN if [ "${TARGETARCH}" = "amd64" ]; then \
 | |
|         wget -O kubectl "https://dl.k8s.io/release/v1.34.1/bin/linux/amd64/kubectl"; \
 | |
|     else \
 | |
|         wget -O kubectl "https://dl.k8s.io/release/v1.34.1/bin/linux/arm64/kubectl"; \
 | |
|     fi && \
 | |
|     chmod +x kubectl && \
 | |
|     mv kubectl /usr/local/bin/
 | |
| 
 | |
| # Устанавливаем Helm
 | |
| RUN wget https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 -O - | bash
 | |
| 
 | |
| # Устанавливаем Kind v0.30.0
 | |
| RUN if [ "${TARGETARCH}" = "amd64" ]; then \
 | |
|         wget -O /usr/local/bin/kind "https://github.com/kubernetes-sigs/kind/releases/download/v0.30.0/kind-linux-amd64"; \
 | |
|     else \
 | |
|         wget -O /usr/local/bin/kind "https://github.com/kubernetes-sigs/kind/releases/download/v0.30.0/kind-linux-arm64"; \
 | |
|     fi && \
 | |
|     chmod +x /usr/local/bin/kind && \
 | |
|     ls -lh /usr/local/bin/kind && \
 | |
|     file /usr/local/bin/kind
 | |
| 
 | |
| # Устанавливаем Istio CLI
 | |
| RUN ARCH=$(echo ${TARGETARCH} | sed 's/amd64/x86_64/; s/arm64/aarch64/') && \
 | |
|     ISTIO_VERSION=1.22.1 && \
 | |
|     wget -qO- https://istio.io/downloadIstio | ISTIO_VERSION=${ISTIO_VERSION} TARGET_ARCH=${ARCH} sh - && \
 | |
|     mv istio-${ISTIO_VERSION}/bin/istioctl /usr/local/bin/ && \
 | |
|     rm -rf istio-${ISTIO_VERSION}
 | |
| 
 | |
| # Команда по умолчанию
 | |
| CMD ["sleep", "infinity"]
 |