Sign inSign up

cookding/kubectl

By cookding

Updated 6 months ago

Dockerize kubectl

Image
Developer tools
0

460

cookding/kubectl repository overview

kubectl

Configuration

namedefaultdescription
KUBECTL_CONFIG_DATACg==base64 encoded kubectl config
KUBECTL_COMMAND_TO_RUNkubectl versionbash command to run

Source

Dockerfile

ARG DOCKERHUB_REGISTRY=docker.io

FROM ${DOCKERHUB_REGISTRY}/library/ubuntu:20.04
ARG VERSION

ENV KUBECTL_CONFIG_DATA "Cg=="
ENV KUBECTL_COMMAND_TO_RUN "kubectl version"

RUN apt-get update \
    && apt-get install -y sudo \
    && apt-get install -y apt-transport-https ca-certificates curl \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN cd \
    && curl -LO https://dl.k8s.io/release/v${VERSION}/bin/linux/amd64/kubectl \
    && curl -LO https://dl.k8s.io/release/v${VERSION}/bin/linux/amd64/kubectl.sha256 \
    && echo "$(cat kubectl.sha256)  kubectl" | sha256sum --check \
    && sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl \
    && rm kubectl kubectl.sha256

ADD ./docker_entrypoint.sh /usr/local/bin/docker_entrypoint.sh

ENTRYPOINT [ "/bin/bash", "/usr/local/bin/docker_entrypoint.sh" ]

docker_entrypoint.sh

#!/bin/bash

set -uo pipefail

mkdir -p /root/.kube
echo ${KUBECTL_CONFIG_DATA} | base64 -d > /root/.kube/config
chown $(id -u):$(id -g) /root/.kube/config

if [ $# -eq 0 ]; then
  exec ${KUBECTL_COMMAND_TO_RUN}
else
  exec "$@"
fi

Tag summary

Content type

Image

Digest

sha256:2d5fac773

Size

49.5 MB

Last updated

6 months ago

docker pull cookding/kubectl:1.35.3