dblworks/bastionBastion是一个轻量级Docker镜像,提供安全访问Kubernetes集群的堡垒主机解决方案。它通过集中化的访问控制和多因素认证机制,确保只有授权用户能够安全地访问Kubernetes资源,同时提供完整的审计跟踪能力。
bashdocker run -d \ --name bastion \ -p 2222:22 \ -p 8080:8080 \ -v /path/to/config:/etc/bastion \ -v /path/to/ssh-keys:/etc/ssh/keys \ -e KUBECONFIG=/etc/bastion/kubeconfig \ dblworks/bastion:latest
yamlversion: '3' services: bastion: image: dblworks/bastion:latest ports: - "2222:22" - "8080:8080" volumes: - ./config:/etc/bastion - ./ssh-keys:/etc/ssh/keys - ./audit-logs:/var/log/bastion/audit environment: - KUBECONFIG=/etc/bastion/kubeconfig - AUTH_METHODS=ssh,webauthn,totp - SESSION_TIMEOUT=3600 - TZ=UTC restart: unless-stopped
| 变量名 | 描述 | 默认值 |
|---|---|---|
AUTH_METHODS | 启用的认证方法,逗号分隔 (ssh,webauthn,totp) | ssh,totp |
SESSION_TIMEOUT | 会话超时时间(秒) | 3600 |
KUBECONFIG | Kubernetes配置文件路径 | /etc/bastion/kubeconfig |
AUDIT_LOG_PATH | 审计日志存储路径 | /var/log/bastion/audit.log |
WEB_PORT | Web界面端口 | 8080 |
SSH_PORT | SSH服务端口 | 22 |
TZ | 时区设置 | UTC |
配置文件默认路径为 /etc/bastion/config.yaml,主要配置项包括:
yaml# 用户授权配置 users: - name: "john" ssh_keys: - "ssh-rsa AAAAB3NzaC1yc2EAAA..." webauthn_credentials: - "credential-id-1" allowed_clusters: - "production" - "staging" permissions: - "get pods" - "list deployments" # 集群配置 clusters: - name: "production" kubeconfig: "/etc/bastion/clusters/prod.yaml" - name: "staging" kubeconfig: "/etc/bastion/clusters/staging.yaml"
bashssh -p 2222 ***
连接后,系统会提示进行多因素认证(如配置),成功后可直接使用kubectl等工具操作授权的Kubernetes集群。
通过浏览器访问 [***],使用用户名和配置的认证方式登录。Web界面提供集群资源管理、会话管理、个人认证设置和审计日志查询等功能。
认证成功后,系统会自动生成临时Kubernetes凭证,可通过以下命令获取当前凭证信息:
bashbastion credentials show
SESSION_TIMEOUT,建议不超过8小时bashdocker pull dblworks/bastion:latest docker stop bastion docker rm bastion # 重新运行容器,使用之前的卷和配置
bashdocker logs bastion # 查看审计日志 docker exec bastion tail -f /var/log/bastion/audit.log





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务