问题标签 [kubernetes-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 - Kubernetes master 返回 401 Unauthorized 错误
我在笔记本电脑上安装了 minikube、kubectl。
当我跑kubectl cluster-info
进去时得到以下
当我连接到 https://10.168.99.10:8443时,我得到以下响应。
安装 kubectl/minikube 时没有提示输入用户/密码。连接的默认用户/密码是什么。
docker - kubernetes:api-server 和 controller-manager 无法启动
我有一个正在运行的 k8s 集群,使用 kubeadm 进行设置。我有一个问题,由于绑定异常,api-server
and pod 无法启动:controller-manager
由于 docker 在重新创建容器时存在错误,我们最近docker-ce
从版本降级18.01
到所有节点上。17.09
但是在降级集群后运行良好,这意味着 api-server 和 controller-manager 正在运行。
我搜索了 google 等,以查找与 api-server 和 controller-manager 的 bindexceptions 相关的问题,但找不到任何有用的东西
我检查了,没有其他进程在主节点上的该端口上运行。我尝试过的事情:
- 在 master 上重新启动 kubelet:
systemctl restart kubelet
- 重新启动 docker 守护进程,查看过时的容器:没有找到任何人
- 检查是否有任何进程在 6443 上运行:
lsof -i:6443
不打印任何内容,但nmap localhost -p 6443
显示端口已打开service unknown
- 也重新启动了系统 pod
重新启动 kubelet 和 docker daemon 工作正常,但对问题没有任何影响
Kubeadm / kubectl - 版本:
用作netcork weave
-cni
编辑:
主节点的docker ps
journalctl - 完整:
kubeadm.conf
码头工人信息-cgroup
核心:
发行:
kubernetes - kube-apiserver 在多主集群中未正确验证
我正在尝试使用kubeadm
此处记录的方法在 Azure 中创建 HA Kubernetes 集群https://kubernetes.io/docs/setup/independent/high-availability/
我只使用 1 个主节点时一切正常,但是当更改为 3 个主节点时,kube-dns 不断因 apiserver 问题而崩溃
运行时可以看到kubectl get nodes
3 个主节点已准备就绪
但是 dns 和仪表板 pod 不断崩溃
日志kubectl -n kube-system logs kube-dns-6f4fd4bdf-rmqbf -c kubedns
表明存在 api 服务器问题
的输出kubectl -n kube-system logs kube-apiserver-k8s-master-0
看起来相对正常,除了所有 TLS 错误
然而,第二个 api 服务器的输出看起来更糟糕
kubernetes - Kubernetes - 每个连接的负载平衡 Web 应用程序访问
好久没来了,希望你没事:)
所以现在,我很高兴与 kubernetes 一起工作!所以让我们开始吧!:)
[现有]
我有一个运行中的 kubernetes 集群,我每天都在使用它。它由几个应用程序组成,其中一个是我们特别感兴趣的,它是 Web 管理界面。
我目前在集群中拥有一个主节点和四个节点。
对于我的 web 应用程序,pod 包含 3 个容器:web / mongo /filebeat,出于技术原因,我们决定为每个 web pod 分配最多 5 个用户。
[我想要的是]
我想在每个节点(web0、web1、web2、web3)上部署一个 web pod,我已经可以做的,并且每个会话(1 个会话 = 1 个用户)分布如下:
目前,所有 HTTP 请求都由 web0 处理。
[问题]
我是否被迫通过外部负载均衡器(haproxy)?
我可以使用内部负载均衡器来配置服务吗?
有没有人有上述实施的经验?
我提前感谢那些在这个过程中可以帮助我的人:)
kubernetes - Kubernetes:过期证书
我们的 Kubernetes 1.6 集群在 2017 年 4 月 13 日构建集群时生成了证书。
2017 年 12 月 13 日,我们的集群升级到 1.8 版本,并生成了新的证书[显然是一组不完整的证书]。
2018 年 4 月 13 日,我们开始在 Kubernetes 的 api-server 仪表板中看到这条消息:
[authentication.go:64] Unable to authenticate the request due to an error: [x509: certificate has expired or is not yet valid, x509: certificate has expired or is not yet valid]
尝试将客户端证书和客户端密钥/etc/kubernetes/kubelet.conf
指向12 月 13 日 [apiserver-kubelet-client.crt
和] 生成的证书apiserver-kubelet-client.crt
,但继续看到上述错误。
尝试将客户端证书和客户端密钥/etc/kubernetes/kubelet.conf
指向12 月 13 日 [和] 生成的不同证书(老实说,我不明白这两组证书/密钥之间的区别),但继续看到上述错误。apiserver.crt
apiserver.crt
尝试将客户端证书和客户端密钥指向不存在/etc/kubernetes/kubelet.conf
的文件,并且没有任何 kube* 服务会启动,并/var/log/syslog
抱怨:
Apr 17 17:50:08 kuber01 kubelet[2422]: W0417 17:50:08.181326 2422 server.go:381] invalid kubeconfig: invalid configuration: [unable to read client-cert /tmp/this/cert/does/not/exist.crt for system:node:node01 due to open /tmp/this/cert/does/not/exist.crt: no such file or directory, unable to read client-key /tmp/this/key/does/not/exist.key for system:node:node01 due to open /tmp/this/key/does/not/exist.key: no such file or directory]
关于如何克服此错误,甚至在更细粒度级别上对其进行故障排除的任何建议?正在考虑根据https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-alpha/#cmd-phase-certskubeadm alpha phase certs apiserver
中的说明为 api-server ( )重新生成证书...但不确定是否我会造成更大的伤害。
对 Kubernetes 来说相对较新,并且设置它的绅士无法咨询......感谢任何帮助。谢谢。
kubernetes - 按 pod 名称过滤 Kubernetes API
我有一个在 minikube 中运行的 Kubernetes 集群,我想通过 Kubernetes API 过滤掉所有 Logstash pod。Kubernetes API文档有点混乱,我做了一些研究,发现我可以使用这样的东西,但到目前为止我一直没有成功:
任何想法如何检索这个?任何帮助将非常感激。
kubernetes - Pod 预设不适用于 minikube
我正在尝试在 minikube 上测试 pod 预设。我运行以下命令来启动 minikube:
minikube start --vm-driver hyperv --hyperv-virtual-switch开关名称--extra-config=apiserver.admission-control="NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota,PodPreset"
集群启动后,我运行kubectl get podpreset
,这让我返回the server doesn't have a resource type 'podpreset'
。我的印象是我只需将 PodPreset 添加到准入控制中,然后 pod 预设就可以工作了。有没有人有什么建议?
一些附加信息:
kubernetes - 如何从 REST API 创建 Pod
如何使用 REST API 创建 Pod?
我检查了 Kubernetes API 文档:
https ://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#-strong-write-operations-strong--54
他们正在编写需要使用 POST 请求的内容:
POST /api/v1/namespaces/{namespace}/pods
我有这个简单的 nginx pod 的 YAML:
go - 如何在 k8s.io/code-generator 中使用切片和映射
我正在编写一个监听环境自定义资源的 Kubernetes 控制器。
pkg/apis/environment/v1alpha1/types.go有以下内容:
运行 k8s.io/code-generator/generate-groups.sh 脚本后,我得到了一个错误的pkg/apis/environment/v1alpha1/zz_generated.deepcopy.go文件。问题来自这个生成的方法:
尝试构建或运行此代码会给我以下错误
只要我在Parameters结构中包含的匿名结构中包含Map或Slice ,就会遇到此错误。
解决方法
解决方法是创建一个包含映射的命名类型。例如,我像这样重构了Service结构:
生成的func (in *Service) DeepCopyInto(out *Service)
并没有改变,但创建了以下 2 个新方法:
现在,我在构建和运行代码时没有任何问题。
这种解决方法很痛苦,因为我真正的Service结构比这个例子大得多。
有没有办法通过代码生成器在匿名 func 中使用地图和切片?
kubernetes - 每个节点的 CPU/内存请求和限制
kubectl describe nodes
提供有关 CPU 和内存等资源的请求和限制的信息。但是,api 端点api/v1/nodes
不提供此信息。
或者,我也可以点击api/v1/pods
端点以获取每个 pod 的信息,这些信息可以跨节点累积。但是是否已经有一个 kubernetes API 端点提供与 CPU/内存请求和每个节点的限制有关的信息?