您的位置:首頁技術文章
文章詳情頁

Docker構建kubectl鏡像的實現步驟

瀏覽:57日期:2024-11-05 18:30:30

假如程序服務是使用 k8s 集成 gitlab ci/cd 方式部署的,在 gitlab-ci 過程中就需要用到 kubeclt 鏡像使用 docker 構建 kubectl 鏡像有兩種方式

方式一 (鏡像相對較小一點,45.8M左右)

在 Linux 上使用 curl 安裝 kubectl 可執行文件

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

詳細參考 官方安裝文檔

接下來在 /usr/local/bin 目錄下新建 Dockerfile 文件,寫入內容如下

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

Dockerfile 文件建好后,在同目錄下執行構建命令

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

等待鏡像構建完成

方式二(鏡像相對大一些,48.9M左右)

此方式相對方便一些,不過構建比較慢,構建過程中需要下載 kubectl 可執行文件直接新建 Dockerfile 文件,寫入內容如下

FROM alpine:latestRUN apk add --update -t deps curlRUN 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/kubectlRUN apk del --purge deps && rm /var/cache/apk/*

在同目錄下執行構建命令

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

1、測試構建的鏡像是否可以正常使用

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

輸出內容如下即構建的鏡像可以正常使用

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、從Registry中拉取鏡像

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

3、將鏡像推送到Registry,[ImageId] 替換成對應的鏡像ID

docker login --username=用戶名 registry.cn-hangzhou.aliyuncs.comdocker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1docker push registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1

到此這篇關于Docker構建kubectl鏡像的實現步驟的文章就介紹到這了,更多相關Docker構建kubectl鏡像內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Docker
相關文章:
国产综合久久一区二区三区