Bitbucket Pipelines Kubectl 镜像是一个轻量级 Docker 镜像,基于 Alpine Linux 3.16 构建,内置 Kubernetes 命令行工具 kubectl。该镜像由 Atlassian Bitbucket Pipelines 团队维护,旨在为 Bitbucket CI/CD 流程提供标准化的 kubectl 运行环境,简化在自动化流水线中与 Kubernetes 集群的交互操作。
kubectl 命令(如部署应用、查看集群资源、配置 Kubernetes 资源等)。kubectl 的便捷工具,无需手动安装和配置。kubectl 命令行工具,支持与 Kubernetes 集群的所有标准交互操作。ca-certificates、bash),确保 HTTPS 通信安全性和基本 shell 环境支持。kubectl 版本,确保与目标 Kubernetes 集群版本兼容。ENTRYPOINT 设为 kubectl,容器启动即可直接执行命令,简化流水线配置。kubectl 部署应用到 Kubernetes 集群、更新配置或执行集群检查。kubectl 的容器,无需在本地系统安装 kubectl。kubectl 命令。kubectl 版本的自动化脚本或工具链。kubectl 运行环境的场景。若需自定义 kubectl 版本,可基于提供的 Dockerfile 构建镜像:
bash# 克隆包含 Dockerfile 的仓库后执行构建,指定 kubectl 版本(如 1.28.0) docker build --build-arg VERSION=1.28.0 -t bitbucket-pipelines-kubectl:1.28.0 .
若镜像已上传至容器仓库(如 Docker Hub、Atlassian 私有仓库),可直接拉取:
bashdocker pull <仓库地址>/bitbucket-pipelines-kubectl:<版本号> # 示例:docker pull my-registry/kubectl:1.28.0
kubectl 命令由于镜像默认 ENTRYPOINT 为 kubectl,容器启动时的命令参数将直接作为 kubectl 的子命令和参数。
查看 kubectl 版本:
bashdocker run --rm bitbucket-pipelines-kubectl:1.28.0 version --client
查看 Kubernetes 集群 pods(需挂载本地 kubeconfig 以访问集群):
bash# 将本地 ~/.kube/config 挂载到容器内 /root/.kube/config(容器默认工作目录为 /root) docker run --rm -v ~/.kube/config:/root/.kube/config bitbucket-pipelines-kubectl:1.28.0 get pods
在 bitbucket-pipelines.yml 中配置步骤,使用该镜像执行 kubectl 命令。示例如下:
yamlpipelines: default: - step: name: Deploy to Kubernetes Cluster image: bitbucket-pipelines-kubectl:1.28.0 # 使用构建或拉取的镜像 script: - kubectl config use-context my-k8s-cluster # 切换到目标集群上下文(需提前配置集群访问凭证) - kubectl apply -f k8s/deployment.yaml # 应用部署配置 - kubectl rollout status deployment/my-app # 检查部署状态 - kubectl get pods -l app=my-app # 验证 pod 启动
| 参数名 | 说明 | 示例值 |
|---|---|---|
VERSION | 指定 kubectl 版本,对应 Kubernetes *** release 版本(如 1.28.0) | 1.28.0 |
| 变量名 | 说明 | 来源 |
|---|---|---|
KUBE_VERSION | 容器内反映构建时指定的 kubectl 版本 | 构建时由 ARG VERSION 注入 |
bash# 挂载本地 kubeconfig,执行 kubectl 命令查看集群节点 docker run --rm \ -v ~/.kube/config:/root/.kube/config \ # 挂载集群访问配置 bitbucket-pipelines-kubectl:1.28.0 \ # 使用指定版本镜像 get nodes --output wide # kubectl 命令及参数
在 bitbucket-pipelines.yml 中配置 Kubernetes 集群访问凭证(通过 Bitbucket 环境变量注入),并执行部署:
yamlpipelines: branches: main: # 仅在 main 分支触发 - step: name: Deploy to Production Cluster image: bitbucket-pipelines-kubectl:1.28.0 script: # 将 Bitbucket 环境变量中的集群凭证写入 kubeconfig - echo "$KUBE_CONFIG" > /root/.kube/config # 部署应用并验证 - kubectl apply -f k8s/prod/deployment.yaml - kubectl set image deployment/my-app my-app=my-registry/my-app:${BITBUCKET_COMMIT} # 使用当前提交哈希作为镜像标签 - kubectl rollout status deployment/my-app environment: # 在 Bitbucket 仓库设置中配置 KUBE_CONFIG 环境变量(存储 base64 编码的 kubeconfig 内容) KUBE_CONFIG: $KUBE_CONFIG
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429