标签: kube-apiserver

Kubernetes - API Server / etcd 如何知道每个 Pod 的状态?

我知道它kubelet负责获取 PodSpecs(通常来自 API 服务器)并运行 Pod。

Kubernetes 组件 > 节点组件 > kubelet

“kubelet 采用一组通过各种机制提供的 PodSpecs,并确保这些 PodSpecs 中描述的容器正在运行和健康。”

但是 API Server 如何跟踪每个 Pod 的状态(例如运行/失败)?是否kubelet向 API 服务器发送常规请求?还是 API Server 会kubelet定期轮询?还是其他什么机制?

kubernetes kubelet kube-apiserver

2
推荐指数
1
解决办法
956
查看次数

使用 kubeadm 时如何在 kubeapi-server 上设置审核相关标志?

我正在尝试启用“审核”。https://kubernetes.io/docs/tasks/debug-application-cluster/audit/提到:

您可以使用 --audit-policy-file 标志将带有策略的文件传递给 kube-apiserver。如果省略该标志,则不会记录任何事件。

我使用 kubeadm 来配置集群(总共在 3 个虚拟机中运行)。

但是使用 kubeadm 时这个设置在哪里?我没有看到它在哪里与 kube-apiserver 交互。

kubernetes kubelet kube-apiserver

2
推荐指数
1
解决办法
2154
查看次数

Kubernetes 更改证书密码

我一直在仔细研究与 kubeadm 相关的链接,尝试更改 Kubernetes 集群证书上的密码。问题是我需要禁用 DES/3DES,这样该命令就会失败:

openssl s_client -connect IP:2379 -cipher "DES:3DES" -tls1_2
Run Code Online (Sandbox Code Playgroud)

到目前为止我浏览过的一些链接(如果我把它们全部列出来,这篇文章会太长):

我希望更改kube-apiserver配置以使用这些标志(在/etc/kubernetes/manifests/kube-apiserver.yaml文件中)会有所帮助,但事实并非如此(请原谅拼写错误,我无法从我必须使用的客户端中复制/粘贴):

...
spec:
  containers:
  - command:
    - kube-apiserver
    - ...
    - --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
    - --tls-min-version=VersionTLS12
    image: k8s.gcr.io/kube-apiserver:v1.18.6
...
Run Code Online (Sandbox Code Playgroud)

/etc/kubernetes/pki我可以按照这些指南手动重新生成所有证书,但我希望坚持使用 Kuberneteskubeadm或其他 Kubernetes 提供的工具来自动处理它。我找不到任何关于手动生成每个文件的文档,这些文件是为完全不熟悉管理的人设置的。

感谢帮助、链接、建议等!不幸的是,在完成此操作之前,我不允许使用集群,甚至不能向人们演示功能。

kubernetes kubeadm kube-apiserver

2
推荐指数
1
解决办法
7227
查看次数

使用 kops 配置集群时如何修改 kube-apiserver 参数?

kube-apiserver 未运行

/var/log/kube-apiserver.log 有以下内容:

Flag --address has been deprecated, see --insecure-bind-address instead.
Run Code Online (Sandbox Code Playgroud)

这些值存储/配置在哪里?


我的意思是来自我的 kops 配置,我现在已经修改了。但我无法反映这些变化:

kops rolling-update cluster
Using cluster from kubectl context: uuuuuuuuuuuuuuuuuuuuuu
Unable to reach the kubernetes API.
Use --cloudonly to do a rolling-update without confirming progress with the k8s API


error listing nodes in cluster: Get https://api.uuuuuuuuuu/api/v1/nodes: dial tcp eeeeeeeeeeeeeee:443: connect: connection refused
Run Code Online (Sandbox Code Playgroud)

kubernetes kops kube-apiserver

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

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

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

.listNamespacedPod("default", null, "false", "smth=test", null, null, null, null, null, null)
Run Code Online (Sandbox Code Playgroud)

或任何其他功能。

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

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

smth=test
Run Code Online (Sandbox Code Playgroud)

但我无法smth=test作为字符串发送。

如何通过标签选择器进行过滤?

这是我来自 YAML 的元数据:

metadata:
  name: label-demo
  labels:
    smth: test 
    app: nginx
Run Code Online (Sandbox Code Playgroud)

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

kubectl -n="namespace" get deployments -l=smth=test
Run Code Online (Sandbox Code Playgroud)

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

javascript kubernetes kube-apiserver

0
推荐指数
1
解决办法
1476
查看次数

标签 统计

kube-apiserver ×5

kubernetes ×5

kubelet ×2

javascript ×1

kops ×1

kubeadm ×1