问题标签 [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.

0 投票
0 回答
76 浏览

amazon-web-services - 从 Internet 访问 lxc Kubernetes 集群

我已经在 aws 实例中建立了一个带有 lxc 容器的 kubernetes 集群。将 /etc/kubernetes/admin.conf 从主节点复制到主机后,我可以从 aws 实例/主机访问集群。如果我没记错的话,我需要从外界访问这个 lxc 集群。

  1. 附加到公共 IP 的 AWS 实例(选中)。

  2. 允许两个端口的安全组规则(选中)。

    一世。80 或 6443 或任何随机端口。

    ii. 443

  3. 用于将流量从 80/6443 和 443 转发到 lxc 主节点容器 ip:6443(选中)的防火墙(iptables)规则。

    【主节点ip:10.23.253.89】

    一世。iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to 10.23.253.89:6443

    ii. iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 443 -j DNAT --to 10.23.253.89:6443

  4. 带有服务器的 kube 配置文件:https://:port(80/6443) 位于外部主机上,我将使用 kubectl(选中)。

但是,当从 aws 实例网络外部访问集群时,我仍然遇到错误。

Unable to connect to the server: x509: certificate is valid for 10.96.0.1, 10.23.253.89, not <public ip of the aws instance>

我猜 tls 在 aws 主机上被终止。

0 投票
1 回答
133 浏览

kubernetes - 在 kubernetes v1.21.0 的 apiserver 清单文件中包含额外的标志似乎没有任何效果

我正在尝试将以下两个标志添加到 /etc/kubernetes/manifests/kube-apiserver.yaml 文件中的 apiserver:

我没有为 /vagrant/admission-control.yaml 文件安装卷或安装点。它完全可以从节点主节点访问,因为它由 vagrant 创建的 VM 共享:

Kubernetes 版本:

链接到正在运行的集群正在使用的 /etc/kubernetes/manifests/kube-apiserver.yaml 文件这里

不幸的是,“kubectl describe pods kube-apiserver-master-1 -n kube-system”仅告知该 pod 已重新创建。标志未按需要显示。没有报告错误。

任何建议都会有所帮助,

谢谢你。

笔记:

  1. 我还尝试在 apiserver 的 configmap 上打一个补丁。补丁已应用,但不会在新运行的 Pod 中生效。
  2. 我还尝试通过 kubeadm init --config 在一个文件中传递这两个标志,但是关于如何将这两个标志以及我需要的所有其他 apiserver 的所有其他标志放在配置文件中以便重新安装的文档很少主节点。

更新:

我希望这对面临同样问题的每个人都有用......

经过 2 天的互联网搜索和大量测试后,我只能通过以下程序使其工作:

0 投票
1 回答
521 浏览

kubernetes - 如何在 k3s / k3d 中找到并调用 kube-apiserver(有 Calico 和没有 Calico)?

我想使用kube-apiserver启用/禁用准入控制器(例如kube-apiserver --enable-admission-plugins=NamespaceLifecycle,但我无法在任何地方找到它。

当我运行以下命令时,我在任何地方都看不到它:

我认为这可能是由于使用了 Calico,但即使创建没有 Calico 的集群仍然显示 no kube-apiserver

在哪里kube-apiserver?如何在 k3d 中启用和禁用控制器?

0 投票
1 回答
213 浏览

kubernetes-helm - Helm Charts:如何在 K0s 集群中安装包?

我的目标是通过使用以下命令来helm package安装k0s cluster

但我得到以下输出:

Kubernetes集群不可达:获取“http://xxxx:xxx/version?timeout=32s”:拨tcp xxxx:x:connect:连接被拒绝

我想知道:

  1. 什么是正确的语法--kube-apiserver
  2. 为什么服务器拒绝请求?
  3. 如何解决?
0 投票
1 回答
86 浏览

exception - 是否有关于 kubernetes api 服务器抛出异常的文档,在 java 中会很好,但任何语言都可以

我们有一个用例来监控 kubernetes 集群,我正在尝试查找 kubernetes 抛出的异常列表,以反映 k8s 服务器(在命名空间中)的状态,同时尝试在 UI 上提交作业。

示例:如果 k8s 服务器抛出ClusterNotFound异常,这意味着我们不能再向该 api 服务器提交任何作业。

有这么全面的清单吗?

我在 Go Lang 中遇到过这个。会是这样吗?java有这样的东西吗?

0 投票
2 回答
74 浏览

kubernetes - 如何设置/更改连接到 kubernetes.default.svc 服务的端点

我有通过命令引导的 kubernetes 多控制平面集群:

kubeadm init --config kubeadm-config.yaml

kubeadm-config.yaml 包含:

为什么连接到 kubernetes.default.svc 服务的端点指向 10.10.10.121:8080 而不是 10.10.10.120:6443 ?

我可以改变这个,或者我在控制平面引导时犯了一些错误?

0 投票
2 回答
285 浏览

javascript - Kubernetes javascript客户端 - 无法按标签选择器过滤

我从 Kubernetes 官方 javascript 客户端运行以下函数,例如:

或任何其他功能。

有一个称为标签选择器的参数。

现在我想使用以下标签选择器找到 pod(如在 HTTP 请求中):

但我不能smth=test作为字符串发送。

如何按标签选择器过滤?

这是我来自 YAML 的元数据:

我可以通过以下方式运行kubectl

所以它只会返回匹配的标签。

0 投票
1 回答
69 浏览

kubernetes - webhook 的文件存在,但 cube-api 因文件不存在而失败

我正在尝试使用 webhook 配置 Kubernetes,我创建了文件,并将其放在/etc/kubernetes/webhook.yaml.

我修改/etc/kubernetes/manifests/kube-apiserver.yaml并添加了 flag - --authentication-token-webhook-config-file=/etc/kubernetes/webhook.yaml

当 kubelet 发现,manifest 文件被修改,它必须重新启动 api(或销毁并创建新的 api 容器)时,它失败了no such file or directory

但是当我检查文件时,它存在。

我将文件权限更改为600但仍然无法正常工作。

我是否必须设置一些东西才能让 Kubelet 访问这个文件?

0 投票
1 回答
50 浏览

kubernetes - 单个 HAproxy 暴露多个 kubernetes 集群 kube-api 服务

目前我们正在使用 haproxy 使用 tcp:bind 模式公开 kube-api,该模式工作正常。

我们需要保持单个 haproxy 来处理大约 4 个不同的集群 kube-api 端点,在这种情况下 tcp:bind 将不起作用。我们计划使用 acl 来匹配不同集群的主机字符串,以使用 http 模式路由相应的后端。当我们添加 ssl 时,我们得到以下错误。

0 投票
0 回答
50 浏览

kubernetes - Microk8s Kube-apiserver 指标端点授权

我正在尝试:16443/metrics从集群外部访问 Microk8s 的 kube-apiserver 指标端点 ()。默认情况下,此端点需要授权,我可以从令牌文件中找到一个不记名令牌并通过 API 调用将其传递,但​​在我的用例中不需要此授权部分并导致额外的痛苦。

curl -k -X GET https://172.16.3.1:16443/metrics -H "Authorization: Bearer enprMmNvb1B..."

只是想知道有没有办法完全关闭 kube-apiserver 的指标端点的身份验证/授权,并让任何人直接调用端点来检索指标?

curl -k -X GET https://172.16.3.1:16443/metrics