问题标签 [kube-apiserver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kubernetes - k8s api-server - 提供用户账号授权
我目前正在使用 Minikube 和 k8s api-server。我能够使用默认服务帐户授权 HTTP 请求(将默认令牌解码为 base64 并作为授权标头提供),但我正在努力对我新创建的用户做同样的事情。
我已经为用户创建了所有相关的 .crt、.key 文件,以及角色、角色绑定、clusterRole、clusterRoleBinding 权限。
我之前尝试解码/Users/ionush/k8s/auth/gameadmin.crt
为 base64 并添加到授权标头中,然后进行设置,minikube start --extra-config=apiserver.client-ca-file=/Users/ionush/k8s/auth/gameadmin.crt
但这不起作用。如何通过 HTTP 以用户身份进行身份验证?
这是我的 .kube/config 文件:
kubernetes - Kubernetes API 服务器如何在节点上启动新调度的 Pod?
我试图更好地了解 Kubernetes Pod 调度和创建过程的工作原理,以及 和 之间的kubelet
交互kube-apiserver
。
我知道 Kubernetes 调度程序选择一个节点来分配一个新的 pod 并通知 API 服务器。但是,我不清楚 API 服务器如何通知相关kubelet
节点上的 pod 启动。是否有轮询过程kubelet
查询 API 服务器的更改?还是有事件监听/回调类型交互?
如果有人知道答案或可以指出我将不胜感激的一些文档的方向!
kubernetes - How to implement a K8S proxy watcher api-server?
I need to create a K8S proxy watcher api-server, it receives list
requests (for some k8s resources) with watch=true
from clients, and proxy requests to the real upstream K8S API-Server, then receives responses from upstream continuously and send them back.
This is what I did:
- For server side, original K8S api-server implements
watch
operation using a long-lived HTTP connection, plus chunked response. In code there is aWatchServer
struct to servewatch
requests:
its first member Watching
needs an struct implements watch.Interface
interface. So I have to find a suitable obj to fill this field so that I can implement a similar K8S apiserver.
- For client side, I have to get real watch events from upstream server, so I used
SharedInformer
in K8S, use add/delete/update event handler to receive up-to-date event notification.
The problem is that SharedInformer
doesn't implement watch.Interface
interface, cannot be used to create WatchServer
struct. So are there any ways to connect these two things together? Or is there any objs that can be used to implement my requirements?
kubernetes - 如何在不丢失集群数据的情况下重启 kube apiserver
我需要在 kube apiserver.yaml 中添加以下内容。
- --service-account-signing-key-file=/etc/kubernetes/pki/sa.key
- --service-account-issuer=kubernetes.default.svc
k8s 将如何应对这些变化?我需要重新启动 kube apiserver 吗?如果它重新启动,那么我的集群和所有 pod 将保留在那里还是删除?
kubernetes - Kubernetes OIDC:没有有效的组映射
我有一个问题,我可以通过 OIDC 登录到我的仪表板,但是没有正确映射 oidc 组信息,我无法访问相应的资源。
基本设置
- K8s 版本:1.19.0
- K8s 设置:1 个主节点 + 2 个工作节点
- 基于 Debian 10 虚拟机
- CNI:印花布
- Louketo 代理作为 OIDC 代理
- OIDC:Keycloak 服务器(Keycloak X [Quarkus])
配置
我已经使用这些参数配置了 K8s apiserver。
kube-apiserver.yaml
集群角色绑定
我使用了以下louketo参数
卢克托代理
我在仪表板中收到以下错误消息。 K8s 错误
我希望你能帮助我解决这个问题,我已经尝试了互联网上的大部分手册,但还没有找到解决方案。
PS:我已经在Keycloak服务器中做了对应的组映射,也验证了组条目被转移。
kubernetes - 无法启动 Kubernetes 集群。etcd 和 api-server 错误
我有一个损坏的 kubernetes 集群作为遗产,现在需要以某种方式启动它。我不知道它是如何实际创建的,但假设它是通过 kubeadm 完成的。因此,通过kubeadm alpha certs renew all
更新证书,我使一个节点部分启动,但无法实现进一步的步骤。现在我的 etcd 和 kupe-api 服务器不工作(启动然后停止):netstat
启动后立即输出:
kube-api 和 etcd running。几分钟后,我们在任何端口都没有 etcd 和 api-server 监听:
没有 kube-aip 和 etcd
docker ps-a
表明这两个容器在一分钟内启动和退出:
dicker ps -a
码头工人日志:
api服务器
systemctl status kubelet(它正在运行)
此外,我认为创建新应用程序并在那里转移应用程序的选项似乎越来越有吸引力。我在docker image
. 创建新集群并将它们转移到那里会很痛苦吗?
在哪里可以找到 POD 配置?我没有注意到任何 *.yaml 描述了如何处理所有这些图像。
提前致谢。
kubernetes - Kubernetes API 服务器按字段过滤 - 在请求时间内
我正在尝试获取类型集群中的所有秘密helm.sh/release.v1
:
我可以使用上面的命令,然后自己过滤(jq
或其他),但我想知道是否有一个选项可以通过添加查询参数或其他东西在 API 中过滤,例如(没用):
知道如何按特定字段过滤吗?( type
) 我还可以在响应中请求特定字段吗(如果我不关心data
例如)?
kubernetes - 我可以获得 storageclasses.storage.k8s.io 支持的访问模式吗?
例如,我想用 RWX ACCESS_MODE 创建一个 pvc,我可以提前知道默认的 sorageclasses 是否支持 RWX?
kubernetes - Kubernetes API 服务器 --bind-address 与 --advertise-address
根据参考,其中两个选项kube-apiserver
是--bind-address
和--advertise-address
在我看来,它们相互冲突。
两者之间的实际差异是什么?
进程将监听--bind-address
的地址是什么?kube-apiserver
--advertise-address
广告的地址是kube-apiserver
它要监听的地址吗?如果是这样,它是如何做广告的?它是否通过网络进行某种广播?