相关疑难解决方法(0)

kubernetes master的x509证书无效

我正试着从我的工作站到达我的k8s主人.我可以从局域网中访问主服务器,但不能从我的工作站访问.错误消息是:

% kubectl --context=employee-context get pods
Unable to connect to the server: x509: certificate is valid for 10.96.0.1, 10.161.233.80, not 114.215.201.87
Run Code Online (Sandbox Code Playgroud)

如何在证书中添加114.215.201.87?我是否需要删除旧的群集ca.crt,重新创建它,重新启动整个群集然后重新签名客户端证书?我已经使用kubeadm部署了我的集群,我不确定如何手动执行这些步骤.

kubernetes kubeadm

21
推荐指数
5
解决办法
2万
查看次数

是否可以通过 https ingress 访问 Kubernetes API?

我尝试通过 HTTPS 入口访问 Kubernetes API 失败,现在开始怀疑这是否可行?

任何直接远程访问的工作详细指南(不使用 ssh -> kubectl 代理以避免 Kubernetes 节点上的用户管理)将不胜感激。:)

更新:

只是为了说得更清楚。这是裸机本地部署(无 GCE、AWZ、Azure 或任何其他),并且某些环境将完全离线(这将增加获取安装包的其他问题)。

目的是能够在客户端主机上使用 kubectl,并通过 Keycloak 进行身份验证(如果遵循分步说明,也会失败)。使用 SSH 和 kubectl 进行管理访问不适合客户端访问。所以看来我必须更新防火墙以公开 API 端口并创建 NodePort 服务。

设置:

[kubernetes - env] - [FW/SNAT] - [我]

FW/NAT仅允许22,80和443端口访问

因此,当我在 Kubernetes 上设置入口时,我无法创建防火墙规则将 443 重定向到 6443。似乎唯一的选择是创建 https 入口将对“api-kubernetes.node.lan”的访问指向 kubernetes 服务端口 6443。 Ingress 本身工作正常,我已经为 Keycloak 身份验证应用程序创建了一个工作入口。

我已将 .kube/config 从主节点复制到我的机器并将其放入 .kube/config (Cygwin 环境)

尝试了什么:

  • SSL 直通。无法启用,因为 kubernetes-ingress 控制器由于无法创建中间证书而无法启动。即使启动,也很可能会削弱其他 HTTPS 入口。
  • 创建自签名 SSL 证书。因此,通过浏览器,当指向https://api-kubernetes.node.lan/api时,我可以获得 API 输出。但是,kubectl 由于未签名的证书而引发错误,这是显而易见的。
  • 将 apiserver.crt 放入 ingress tls: 定义中。由于证书不适合 …

kubernetes kubectl kubernetes-ingress

5
推荐指数
1
解决办法
6368
查看次数

标签 统计

kubernetes ×2

kubeadm ×1

kubectl ×1

kubernetes-ingress ×1