Sign inSign up

putianhui/jenkins-tools

By putianhui

•Updated over 3 years ago

Image
0

67

putianhui/jenkins-tools repository overview

安装的工具:docker、crictl、kubectl、helm、git、net-tools

创建docker镜像目录并下载常用的命令、生成客户端的配置文件到当前目录下

$ mkdir tools-image && cd tools-image/

#下载helm
$ wget https://get.helm.sh/helm-v3.11.0-linux-amd64.tar.gz && tar xzvf helm-v3.11.0-linux-amd64.tar.gz && mv linux-amd64/helm ./

# 下载kubectl
$ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" && chmod +x kubectl

# 下载crictl
$ wget https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.26.0/crictl-v1.26.0-linux-amd64.tar.gz && tar xzvf crictl-v1.26.0-linux-amd64.tar.gz

# 复制当前机器的docker命令二进制到本地目录一份
$ cp /usr/bin/docker .

# 准备crictl的客户端配置文件
$ cat > ./crictl.yaml <<EOF
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 2
debug: false
pull-image-on-create: true
EOF

新建Dockerfile文件内容

$ cat >Dockerfile<<EOF
# 基本镜像,ubuntu:20.04
FROM ubuntu:20.04

# 跳过时区选择(必须执行,否则后续构建镜像时会卡死到时区选择)
ENV DEBIAN_FRONTEND=noninteractive

# 编码格式
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

# 指定用户
USER root

# 复制本地下载的工具二进制到容器内
COPY ./crictl ./kubectl ./helm ./docker /usr/bin/

# 生成crictl的配置文件
COPY ./crictl.yaml /etc/crictl.yaml

# 切换到国内镜像源(镜像、容器内部的)、安装常用的软件、安装docker-cli
RUN set -x; apt-get update \
    && apt-get install -y sudo curl vim git net-tools tzdata \
    && ln -sf /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime \
    && rm -rf /var/lib/apt/lists/*

CMD ["sleep", "9999999"]
EOF

构建工具镜像

# 我这里构建成功后推送到我自己的dockerHub仓库中,你们也可以推送到自己的仓库中,或者后面使用时用我仓库中的镜像也可以
$ docker build -t putianhui/jenkins-tools:v1 .

镜像在使用时需要注意一下几点:

1、在使用helm、kubectl工具时,需要将Kubernetes的客户端配置文件挂载到容器的/root/.kube/config文件

2、在使用crictl工具时,需要将containerd的sock文件挂载到容器的/run/containerd/containerd.sock文件

3、在使用docker工具时,需要将docker的sock文件挂载到容器的/var/run/docker.sock

Tag summary

Content type

Image

Digest

sha256:6b1dde484…

Size

150.1 MB

Last updated

over 3 years ago

docker pull putianhui/jenkins-tools:v1