34 lines
1.4 KiB
Docker
34 lines
1.4 KiB
Docker
# Образ kind-k8s-tools: kind, kubectl, docker CLI, Python-скрипты (без установки на хост).
|
|
# Данные кластеров монтируются в /work/clusters (см. docker-compose.yml).
|
|
#
|
|
# Автор: Сергей Антропов — https://devops.org.ru
|
|
|
|
ARG KIND_VERSION=0.24.0
|
|
# Платформа целевого образа (BuildKit подставляет amd64/arm64; иначе — uname внутри слоя)
|
|
ARG TARGETARCH
|
|
|
|
FROM alpine:3.20
|
|
|
|
RUN apk add --no-cache python3 docker-cli curl bash ca-certificates \
|
|
&& ARCH="${TARGETARCH:-}" \
|
|
&& if [ -z "$ARCH" ]; then ARCH="$(uname -m)"; fi \
|
|
&& case "$ARCH" in \
|
|
amd64|x86_64) KARCH=amd64 ;; \
|
|
arm64|aarch64) KARCH=arm64 ;; \
|
|
*) echo "Неподдерживаемая архитектура: $ARCH"; exit 1 ;; \
|
|
esac \
|
|
&& curl -sSLo /usr/local/bin/kind "https://kind.sigs.k8s.io/dl/v${KIND_VERSION}/kind-linux-${KARCH}" \
|
|
&& chmod +x /usr/local/bin/kind \
|
|
&& KVER=$(curl -Ls https://dl.k8s.io/release/stable.txt) \
|
|
&& curl -sSLo /usr/local/bin/kubectl "https://dl.k8s.io/release/${KVER}/bin/linux/${KARCH}/kubectl" \
|
|
&& chmod +x /usr/local/bin/kubectl
|
|
|
|
COPY app/ /opt/kind-k8s/app/
|
|
|
|
ENV KIND_K8S_WORKDIR=/work \
|
|
PYTHONPATH=/opt/kind-k8s/app \
|
|
KIND_K8S_IN_CONTAINER=1 \
|
|
PATH=/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
|
|
WORKDIR /work
|