
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
(温馨提示:我们正将名称从 "k8dash" 改为 "skooner"!请耐心等待我们完成所有文档和代码库的名称更新。)
skooner 是管理Kubernetes集群最简便的方式。
(返回 目录)
使用以下命令部署skooner:
注意:请勿信任从互联网下载的文件。在运行以下脚本前,请务必检查 https://raw.githubusercontent.com/indeedeng/k8dash/master/kubernetes-k8dash.yaml 的内容。
bashkubectl apply -f https://raw.githubusercontent.com/indeedeng/k8dash/master/kubernetes-k8dash.yaml
若需公开访问skooner,可通过Ingress配置路由:
yamlkind: Ingress apiVersion: extensions/v1beta1 metadata: name: skooner namespace: kube-system spec: rules: - host: skooner.example.com http: paths: - path: / backend: serviceName: skooner servicePort: 80
(返回 目录)
遗憾的是,kubectl proxy 无法用于访问skooner。根据 https://github.com/kubernetes/kubernetes/issues/38775#issuecomment-277915961%EF%BC%8C%60kubectl proxy` 在代理请求时会剥离Authorization头。
这是预期行为。通过apiserver进行"代理"不会提供标准的代理行为(端到端保留Authorization头),因为API并非用作标准代理。
(返回 目录)
skooner支持多种登录方式:服务账户令牌、OIDC 和 NodePort。
最简单的方式是创建专用服务账户:
bash# 在当前命名空间(默认假设为default)创建服务账户 kubectl create serviceaccount skooner-sa # 授予该账户集群管理员权限 kubectl create clusterrolebinding skooner-sa --clusterrole=cluster-admin --serviceaccount=default:skooner-sa # 查找为该账户创建的包含令牌的secret kubectl get secrets # 查看secret内容以提取令牌 kubectl describe secret skooner-sa-token-xxxxx
复制secret中的token值,输入到登录界面即可访问仪表盘。
skooner简化了OpenId Connect认证的使用。假设集群已配置OIDC,只需创建包含凭证的secret并应用 https://raw.githubusercontent.com/indeedeng/k8dash/master/kubernetes-k8dash-oidc.yaml%E3%80%82
若需了解如何配置集群OIDC,可参考以下链接:
使用以下脚本部署支持OIDC的skooner:
注意:请勿信任从互联网下载的文件。在运行以下脚本前,请务必检查 https://raw.githubusercontent.com/indeedeng/k8dash/master/kubernetes-k8dash-oidc.yaml 的内容。
bashOIDC_URL=<输入你的端点URL,例如https://accounts.google.com> OIDC_ID=<输入你的ID,例如blah-blah-blah.apps.googleusercontent.com> OIDC_SECRET=<输入你的OIDC密钥> kubectl create secret -n kube-system generic skooner \ --from-literal=url="$OIDC_URL" \ --from-literal=id="$OIDC_ID" \ --from-literal=secret="$OIDC_SECRET" kubectl apply -f https://raw.githubusercontent.com/indeedeng/k8dash/master/kubernetes-k8dash-oidc.yaml
此外,可通过以下环境变量配置其他OIDC选项:
OIDC_SCOPES:默认值为openid email,可添加额外范围(如OIDC_SCOPES="openid email groups")OIDC_METADATA:skooner使用优秀的 https://github.com/panva/node-openid-client 模块。OIDC_METADATA接受JSON字符串并传递给Client构造函数,文档见 https://github.com/panva/node-openid-client/blob/master/docs/README.md#client%E3%80%82%E4%BE%8B%E5%A6%82%EF%BC%9A%60OIDC_METADATA='%7B%22token_endpoint_auth_method%22:%22client_secret_post%22%7D'%60若未配置Ingress,可使用 https://raw.githubusercontent.com/indeedeng/k8dash/master/kubernetes-k8dash-nodeport.yaml 中的NodePort服务。这适用于单节点集群或快速启动场景。
该配置会将skooner的4654端口映射到节点上的随机端口。可通过以下命令查看分配的端口:
$ kubectl get svc --namespace=kube-system NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE skooner NodePort 10.107.107.62 <none> 4654:32565/TCP 1m
skooner依赖 https://github.com/kubernetes-incubator/metrics-server 显示实时集群指标。强烈建议安装metrics-server以获得最佳体验。
(返回 目录)
需准备:
minikube start --driver=docker启动(返回 目录)
要运行服务端,进入/server目录执行npm i安装依赖,然后npm start启动服务。服务端是基于express.js的简单服务器,主要负责代理Kubernetes API请求。
开发期间,服务端将使用~/.kube/config中的配置连接目标集群。例如,使用minikube时,可运行kubectl config set-context minikube确保~/.kube/config配置正确。
客户端是使用TypeScript的React应用,依赖极少。
要运行客户端,打开新终端标签,进入/client目录,执行npm i和npm start。这将在浏览器中打开本地skooner仪表盘。若编译成功,页面加载后可能会弹出错误信息Unhandled Rejection (Error): Api request error: Forbidden...,点击右上角的'X'关闭即可看到输入令牌的UI界面。
(返回 目录)
https://raw.githubusercontent.com/indeedeng/k8dash/master/LICENSE
https://app.fossa.com/api/projects/git%2Bgithub.com%2Findeedeng%2Fk8dash.svg?type=large](https://app.fossa.com/projects/git%2Bgithub.com%2Findeedeng%2Fk8dash?ref=badge_large)
(返回 目录)
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务