fleetdm/fleetctl本Docker镜像为轻量级镜像,仅包含Fleet项目的fleetctl命令行工具。Fleet是用于管理Kubernetes集群上应用部署的声明式GitOps工具,fleetctl则是其官方命令行客户端,用于与Fleet集群进行交互,执行应用部署、状态检查、配置管理等操作。本镜像旨在提供一个便捷、隔离的环境,使用户无需在主机系统直接安装fleetctl及其依赖,即可快速使用该工具。
fleetctl工具,无多余组件,保持轻量级特性fleetctl,避免对主机系统依赖造成干扰fleetctl版本,确保环境一致性fleetctl命令,实现Fleet应用的自动部署和更新fleetctl安装的环境中,快速启动容器执行集群管理操作fleetctl与集群的兼容性通过docker run命令启动容器并执行fleetctl命令,基本格式如下:
bashdocker run --rm <镜像名称> fleetctl <命令>
验证镜像中的fleetctl版本:
bashdocker run --rm fleet-fleetctl fleetctl version
与Fleet集群交互需提供Kubernetes集群配置(通常通过kubeconfig文件),可通过挂载主机的kubeconfig文件实现:
bashdocker run --rm -v $HOME/.kube/config:/root/.kube/config fleet-fleetctl fleetctl get clusters
列出Fleet集群:
bashdocker run --rm -v $HOME/.kube/config:/root/.kube/config fleet-fleetctl fleetctl get clusters
部署应用到Fleet:
bashdocker run --rm -v $HOME/.kube/config:/root/.kube/config -v $(pwd):/workspace fleet-fleetctl fleetctl apply -f /workspace/fleet.yaml
检查应用部署状态:
bashdocker run --rm -v $HOME/.kube/config:/root/.kube/config fleet-fleetctl fleetctl status <应用名称>
| 环境变量 | 说明 | 默认值 |
|---|---|---|
KUBECONFIG | 指定Kubernetes配置文件路径 | /root/.kube/config |
FLEETCTL_NAMESPACE | 指定Fleet操作的命名空间 | fleet-system |
kubeconfig文件挂载到容器内$KUBECONFIG指定路径(默认/root/.kube/config)fleet.yaml),可通过挂载主机目录到容器内工作目录(如/workspace)如需在多次容器运行中保持配置,可创建数据卷挂载配置目录:
bash# 创建数据卷 docker volume create fleet-config # 首次运行时复制kubeconfig到数据卷 docker run --rm -v $HOME/.kube/config:/source -v fleet-config:/root/.kube alpine cp /source /root/.kube/config # 后续使用数据卷中的配置 docker run --rm -v fleet-config:/root/.kube fleet-fleetctl fleetctl get deployments
yamlversion: '3' services: fleetctl: image: fleet-fleetctl volumes: - $HOME/.kube/config:/root/.kube/config - ./fleet-configs:/workspace command: fleetctl apply -f /workspace/deployment.yaml
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务