Zeabur Identityv0.1.0

删掉 admin.conf,用通行密钥登录集群

kubectl 会打开浏览器,你用 Touch ID、Windows Hello 或安全密钥登录,拿到几分钟就过期的令牌。令牌由 Kubernetes 自己验证,Zeabur Identity 不在请求路径上。

成员用自己的权限,管理员用专用账号

在浏览器登录,回到 kubectl 继续工作

  1. 运行 kubectl

    例如 kubectl get pods。浏览器会打开 Zeabur Identity 的登录页。

  2. 用通行密钥登录

    kubectl 拿到 10 分钟的令牌,你工作时它会在后台续期。

  3. Kubernetes 自己验证

    kube-apiserver 通过 OpenID Connect 验证令牌。撤销某人的会话后,他手上的令牌最多十分钟就失效。

登录时看到的页面

日常登录:通行密钥按钮和“使用 GitHub 继续”日常登录:通行密钥按钮和“使用 GitHub 继续”
日常登录:通行密钥按钮和“使用 GitHub 继续”
加入:用一次性链接创建通行密钥加入:用一次性链接创建通行密钥
加入:用一次性链接创建通行密钥

支持范围

项目范围条件
Kubernetes 发行版CI 在 k3s 上测试k0s 和 kubeadm 有配置可用,安装尚未验证
登录方式通行密钥,或关联的 GitHub、Google 账号GitHub、Google 需要另外配置 OAuth 应用
管理员账号只能用通行密钥,令牌 5 分钟用 zeabur-identityctl 设置账号类型
其他应用用 zeabur-identityctl client create 注册 Grafana、Argo CD应用支持 OpenID Connect
成员用户组、管理员账号、丢失通行密钥、移除成员,也能从目录同步同步需要自己写一小段脚本
你的电脑macOS、Linux 或 Windows 上的 kubectl按入门指南配置 kubeconfig

从一台 Ubuntu 服务器开始

入门指南会在 Ubuntu 服务器上装好 k3s,下载并验证 Zeabur Identity,再从你的电脑用通行密钥登录。现有集群用集群管理员的 kubeconfig 运行下面几行。

export ZEABUR_IDENTITY_ISSUER=https://login.example.com
zeabur-identityctl crds | kubectl apply --server-side -f -
zeabur-identityctl manifests --image "$ZEABUR_IDENTITY_IMAGE" \
  --serve-arg=--invitations | kubectl apply --server-side -f -
# Prints kube-apiserver's configuration and how to install it
# for your distribution:
zeabur-identityctl kube-config --distro k3s > authn.yaml
# A one-time link: open it and create your passkey.
zeabur-identityctl setup-link --username admin