Docker builds kubectl image implementation steps

Docker builds kubectl image implementation steps

If the program service is deployed using k8s integrated with gitlab ci/cd, the kubeclt image is needed in the gitlab-ci process. There are two ways to build a kubectl image using docker

Method 1 (the image is relatively small, about 45.8M)

Install the kubectl executable using curl on Linux

cd /usr/local/bin
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.20.1/bin/linux/amd64/kubectl
chmod +x ./kubectl

Refer to the official installation documentation for details

Next, create a new Dockerfile file in the /usr/local/bin directory and write the following content

FROM alpine:latest
COPY kubectl /usr/local/bin/
RUN chmod +x /usr/local/bin/kubectl

After the Dockerfile file is built, execute the build command in the same directory

docker build -t registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1 .

Wait for the image to be built

Method 2 (the image is relatively large, about 48.9M)

This method is relatively convenient, but the construction is slow. During the construction process, you need to download the kubectl executable file and directly create a new Dockerfile file with the following content

FROM alpine:latest

RUN apk add --update -t ​​deps curl

RUN curl -L https://storage.googleapis.com/kubernetes-release/release/v1.20.1/bin/linux/amd64/kubectl -o /usr/local/bin/kubectl \
  && chmod +x /usr/local/bin/kubectl

RUN apk del --purge deps \
  && rm /var/cache/apk/*

Execute the build command in the same directory

docker build -t registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1 .

at last

1. Test whether the built image can be used normally

docker run -it registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1 kubectl version --client

The output content is as follows, that is, the built image can be used normally

Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.1", GitCommit:"c4d752765b3bbac2237bf87cf0b1c2e307844666", GitTreeState:"clean", BuildDate:"2020-12-18T12:09:25Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}

2. Pull the image from the Registry

docker pull registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1

3. Push the image to the Registry and replace [ImageId] with the corresponding image ID

docker login --username=usernameregistry.cn-hangzhou.aliyuncs.com

docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1

docker push registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1

This is the end of this article about the implementation steps of Docker building kubectl image. For more relevant content about Docker building kubectl image, please search 123WORDPRESS.COM's previous articles or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • How to add automatic completion commands for docker and kubectl on Mac

<<:  Five ways to traverse objects in javascript Example code

>>:  Research on the value of position attribute in CSS (summary)

Recommend

Windows system mysql5.7.18 installation graphic tutorial

MySQL installation tutorial for Windows system do...

Introduction to the use of MySQL source command

Table of contents Thoughts triggered by an online...

Linux Dig command usage

Dig Introduction: Dig is a tool that queries DNS ...

How to use Docker to build a tomcat cluster using nginx (with pictures and text)

First, create a tomcat folder. To facilitate the ...

In-depth analysis of MySQL deadlock issues

Preface If our business is at a very early stage ...

The process of installing MySQL 8.0.26 on CentOS7

1. First, download the corresponding database fro...

Detailed installation tutorial of Mysql5.7.19 under Centos7

1. Download Download mysql-5.7.19-linux-glibc2.12...

Native JS to implement image carousel JS to implement small advertising plug-in

Recently I want to use native JS to implement som...

Install Tomcat on Linux system and configure Service startup and shutdown

Configure service startup and shutdown in Linux s...

How to configure the My.ini file when installing MySQL5.6.17 database

I recently used the MySql database when developin...

How to safely shut down MySQL

When shutting down the MySQL server, various prob...

HTML form tag tutorial (2):

This tutorial introduces the application of vario...