专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

d3fk/kubectl Docker 镜像 - 轩辕镜像

kubectl
d3fk/kubectl
基于scratch构建的超轻量级Kubectl镜像,仅包含官方二进制文件和默认非root用户,每日更新,适用于Docker容器或Kubernetes环境(如Pod、Job、CronJob)管理K8s集群
11 收藏0 次下载
⚠️ 线上容器拉取慢、不稳定?拉镜像别再赌运气
中文简介版本下载
⚠️ 线上容器拉取慢、不稳定?拉镜像别再赌运气

![Docker Pulls]([] ![Docker Image Size]([] ![Docker build]([] ![Docker Stars]([] ![Github Stars]([] ![Github forks]([] ![Github open issues]([] ![Github closed issues]([] ![GitHub license]([***]

基于scratch的轻量级kubectl容器 (Angatar> d3fk/kubectl)

一款超轻量级容器,仅包含Kubectl官方二进制文件和默认非root用户,大小约44MB(压缩后)![Docker Image Size]([***] Hub以“自动化构建”方式构建为多架构镜像,每日更新最新版本。此容器非常适合从任何环境(如简单Docker容器或其他K8s Pod、Job、CronJob等)管理Kubernetes集群。

可用于CI/CD流程,或直接作为主要的Kubectl命令行工具(可通过更改标签指定版本)。

对于Flatcar Container Linux等精简/不可变Linux发行版,此容器尤为便捷,可利用Docker镜像的不可变性,无需依赖包管理器...详见提示:快速设置

获取镜像 (d3fk/kubectl)

获取d3fk/kubectl镜像的最佳方式是从Docker Hub Registry拉取预构建镜像。

该镜像通过Docker Hub的“自动化构建”功能从代码仓库构建为多架构镜像。

镜像名称 d3fk/kubectl

sh
$ docker pull d3fk/kubectl:latest

Docker Hub仓库:[***]

![DockerHub Badge]([***]

d3fk/kubectl的Kubectl版本为最新稳定版

Docker Hub上的d3fk/kubectl:latest多架构镜像通过每日自动化构建更新,确保使用该镜像时能获取到发布后24小时内的最新稳定版Kubectl。最新稳定版对应Kubernetes的最新发布版本,可通过此处查看。

作为多架构镜像,它支持大多数架构:

  • linux/amd64
  • linux/386
  • linux/arm/v6
  • linux/arm/v7
  • linux/arm64/v8
  • linux/ppc64le
  • linux/s390x

因此,甚至可在树莓派上使用此容器管理K8s集群。

历史Kubectl版本

若需使用历史版本或固定版本的Kubectl,Docker Hub也提供以下标签镜像(自d3fk/kubectl:v1.25起为多架构镜像)。这些镜像版本固定,不会更改,通过代码仓库“releases”部分的代码由Docker Hub自动化构建,且稳定不再重建:

  • 版本1.30.4:d3fk/kubectl:v1.30
  • 版本1.29.5:d3fk/kubectl:v1.29
  • 版本1.28.10:d3fk/kubectl:v1.28
  • 版本1.27.5:d3fk/kubectl:v1.27
  • 版本1.26.8:d3fk/kubectl:v1.26
  • 版本1.25.5:d3fk/kubectl:v1.25
  • 版本1.24.8:d3fk/kubectl:v1.24
  • 版本1.23.6:d3fk/kubectl:v1.23
  • 版本1.22.6:d3fk/kubectl:v1.22
  • 版本1.21.4:d3fk/kubectl:v1.21
  • 版本1.20.8:d3fk/kubectl:v1.20
  • 版本1.19.5:d3fk/kubectl:v1.19
  • 版本1.18.2:d3fk/kubectl:v1.18
  • 版本1.17.5:d3fk/kubectl:v1.17
  • 版本1.16.9:d3fk/kubectl:v1.16

基本使用

sh
$ docker run --rm d3fk/kubectl

此命令将显示所有可用的kubectl命令列表

默认用户

从v1.31版本开始,d3fk/kubectl容器镜像包含默认非root用户kubectl,UID为6009,以遵循Docker最佳实践。选择此UID是为了减少与本地文件系统现有用户的冲突(如访问配置文件、挂载卷等)。

若使用v1.31以下版本,此非root用户设置通常不会影响常规使用,除非处理具有特定读取权限限制的文件或目录。如遇此类情况,可通过--user选项将容器用户设置为自己的UID,以模拟本地运行kubectl的行为。

配置

要连接远程集群,需加载自定义配置。

sh
$ docker run --rm --name kubectl -v /path/to/your/kube/config:/.kube/config d3fk/kubectl

例如,列出集群中的Pod:

sh
$ docker run --rm --name kubectl -v $HOME/.kube/config:/.kube/config d3fk/kubectl get pods

若需使用YAML文件、创建ConfigMap或处理其他文件,d3fk/kubectl容器中已设置工作目录/files。可将文件挂载到此路径并在容器内使用。

例如,从当前目录的deployment.yaml创建部署:

sh
$ docker run --rm --name kubectl \
             -v $(pwd):/files \
             -v $HOME/.kube/config:/.kube/config \
             d3fk/kubectl create -f deployment.yaml

若需与K8s组件进行终端交互,需在docker run命令中添加-ti选项。

例如,进入Pod内的容器shell进行调试或检查:

sh
$ docker run -ti --rm --name kubectl \
             -v $(pwd):/files \
             -v $HOME/.kube/config:/.kube/config \
             d3fk/kubectl exec -ti deployment/examplebashpod -- bash
提示:
处理有限访问权限

若操作具有访问权限限制的文件或目录,可使用--user选项将当前用户设为容器默认用户。

可通过$(id -u)和$(id -g)动态将当前用户的UID和GID纳入运行命令:

例如:

sh
$ docker run -ti --rm --name kubectl \
             --user $(id -u):$(id -g) \
             -v $(pwd):/files \
             -v $HOME/.kube/config:/.kube/config \
             d3fk/kubectl apply -f deployment.yaml
快速设置

为shell创建命令别名,可将此Docker容器当作系统$PATH中的kubectl二进制文件使用。

若$HOME/.kube/config文件对当前用户可访问,可在终端中复制粘贴以下命令进行快速本地设置:

sh
alias k='docker run --rm -ti --user $(id -u):$(id -g) -v $(pwd):/files -v $HOME/.kube/config:/.kube/config d3fk/kubectl'

之后即可像以下方式简单运行d3fk/kubectl命令:

sh
$ k get pods

由于别名仅在当前终端会话中生效,若需在未来会话中使用,需将别名添加到shell启动脚本(如.bashrc、.shrc、.rc等)。

在Kubernetes中使用

此容器最初用于K8s CronJob,以定期触发特定部署的强制滚动更新,使相关伸缩应用通过定期重启Pod获得新容器,提升稳定性且无 downtime。

为便于说明和测试,模板YAML文件位于代码仓库的k8s目录。

可通过补丁更新目标部署或使用kubectl rollout restart触发Pod滚动更新,需定义滚动更新策略以确保触发预期行为,例如:

yaml
spec:
  replicas: 3
  strategy:
    type: RollingUpdate
    rollingUpdate:
      max***: 1 # 每次可添加的Pod数量
      maxUnavailable: 1 # 滚动更新期间不可用的Pod数量

完整的模板部署文件见k8s目录:test-deployment.yaml

默认K8s RBAC规则不允许从其他Pod执行补丁或rollout操作。因此需创建具有所需权限(如“get”和“patch”)的RBAC Role和RoleBinding。

为便于测试,我们在专用命名空间“r-updated”中操作,确保不影响默认命名空间,且仅应用于需定期滚动更新的目标部署(CronJob、目标部署及专用RBAC规则需在同一命名空间)。若使用现有命名空间,需编辑部署、RBAC、ConfigMap和CronJob模板中的命名空间行;否则,创建“r-updated”命名空间:

sh
$ kubectl create namespace r-updated

k8s目录中提供了包含所需RBAC Role和RoleBinding的模板YAML文件:rbac-rupdate.yaml,请根据需求调整权限和命名空间。

sh
$ kubectl create -f rbac-rupdate.yaml

可通过以下命令从.kube/config文件创建供Pod/Job/CronJob使用的ConfigMap(假设配置文件位于$HOME/.kube):

sh
$ kubectl create configmap kubeconfig --namespace r-updated --from-file $HOME/.kube

可使用代码仓库k8s目录中的rolling-update-cronjob.yaml作为CronJob模板(测试时每分钟触发一次Job,需根据需求调整Cron配置)。

该模板CronJob使用之前创建的ConfigMap“kubeconfig”加载kubectl配置(可根据需求修改)。编辑CronJob文件中的目标部署名称后,即可创建K8s CronJob:

sh
$ kubectl create -f rolling-update-cronjob.yaml

之后K8s将根据CronJob配置定期执行滚动更新。

许可证

GitHub代码仓库的内容采用MIT许可证![GitHub license]([***]

关于kubectl的许可证信息,请访问 [***]

对Helm感兴趣?

若正在使用Kubectl,可能也会发现d3fk/helm容器有用。它采用类似的轻量级、极简容器方案,用于在Kubernetes集群中部署Helm Chart。

更多详情和使用说明,请查看d3fk/helm GitHub仓库或Docker Hub页面。

![GitHub license]([***]

查看更多 kubectl 相关镜像 →
bitnami/kubectl logo
bitnami/kubectl
Bitnami Secure Image for kubectl 是 Bitnami 公司基于安全最佳实践构建的容器镜像,集成了 Kubernetes 命令行工具 kubectl,旨在为用户提供安全可靠的 Kubernetes 集群管理环境,该镜像经过严格的安全加固,包含漏洞扫描、依赖项验证及合规性检查,确保工具版本稳定且无已知安全风险,支持多种操作系统架构,可直接用于容器化部署或本地环境,帮助开发者和运维人员高效执行集群配置、资源管理及应用部署等操作,简化安全工具集成流程,保障 Kubernetes 管理任务的安全性与便捷性。
1341B+ pulls
上次更新:未知
rancher/kubectl logo
rancher/kubectl
暂无描述
1510M+ pulls
上次更新:未知
istio/kubectl logo
istio/kubectl
该镜像是已过时的。
25M+ pulls
上次更新:未知
chainguard/kubectl logo
chainguard/kubectl
使用Chainguard的低至零CVE容器镜像构建、交付和运行安全软件。
100K+ pulls
上次更新:未知
alpine/kubectl logo
alpine/kubectl
用于管理集群的Kubernetes命令行工具
11M+ pulls
上次更新:未知
eclipsefdn/kubectl logo
eclipsefdn/kubectl
提供kubectl命令行工具,用于管理OKD集群的Docker镜像。
50K+ pulls
上次更新:未知

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
d3fk/kubectl
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
咨询镜像拉取问题请 提交工单,官方技术交流群:1072982923
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.