- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的集群证书已过期,现在我无法执行任何 kubectls 命令。
root@node1:~# kubectl get ns
Unable to connect to the server: x509: certificate has expired or is not yet valid
root@node1:~#
我使用 Kubespray 创建了这个集群,kubeadm 版本是 v1.16.3 和 kubernetesVersion v1.16.3
root@node1:~# kubeadm alpha certs check-expiration
failed to load existing certificate apiserver-etcd-client: open /etc/kubernetes/pki/apiserver-etcd-client.crt: no such file or directory
To see the stack trace of this error execute with --v=5 or higher
root@node1:~#
发现/etc/kubernetes/pki目录下缺少apiserver-etcd-client.crt和apiserver-etcd-client.key文件。
root@node1:/etc/kubernetes/pki# ls -ltr
total 72
-rw------- 1 root root 1679 Jan 24 2020 ca.key
-rw-r--r-- 1 root root 1025 Jan 24 2020 ca.crt
-rw-r----- 1 root root 1679 Jan 24 2020 apiserver.key.old
-rw-r----- 1 root root 1513 Jan 24 2020 apiserver.crt.old
-rw------- 1 root root 1679 Jan 24 2020 apiserver.key
-rw-r--r-- 1 root root 1513 Jan 24 2020 apiserver.crt
-rw------- 1 root root 1675 Jan 24 2020 apiserver-kubelet-client.key
-rw-r--r-- 1 root root 1099 Jan 24 2020 apiserver-kubelet-client.crt
-rw-r----- 1 root root 1675 Jan 24 2020 apiserver-kubelet-client.key.old
-rw-r----- 1 root root 1099 Jan 24 2020 apiserver-kubelet-client.crt.old
-rw------- 1 root root 1679 Jan 24 2020 front-proxy-ca.key
-rw-r--r-- 1 root root 1038 Jan 24 2020 front-proxy-ca.crt
-rw-r----- 1 root root 1675 Jan 24 2020 front-proxy-client.key.old
-rw-r----- 1 root root 1058 Jan 24 2020 front-proxy-client.crt.old
-rw------- 1 root root 1675 Jan 24 2020 front-proxy-client.key
-rw-r--r-- 1 root root 1058 Jan 24 2020 front-proxy-client.crt
-rw------- 1 root root 451 Jan 24 2020 sa.pub
-rw------- 1 root root 1679 Jan 24 2020 sa.key
root@node1:/etc/kubernetes/pki#
我尝试了以下命令,但没有任何效果并显示错误:
#sudo kubeadm alpha certs renew all
#kubeadm alpha phase certs apiserver-etcd-client
#kubeadm alpha certs apiserver-etcd-client --config /etc/kubernetes/kubeadm-config.yaml
Kubespray 命令:
#ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root cluster.yml
上述命令以以下错误结束:
失败了! => {"attempts": 5, "changed": true, "cmd": ["/usr/local/bin/kubeadm", "--kubeconfig", "/etc/kubernetes/admin.conf", "token ", "create"], "delta": "0:01:15.058756", "end": "2021-02-05 13:32:51.656901", "msg": "非零返回码", "rc ": 1, "start": "2021-02-05 13:31:36.598145", "stderr": "等待条件超时\n要查看此错误的堆栈跟踪,请使用 --v=5 或更高版本执行", "stderr_lines": ["等待条件超时", "要查看此错误的堆栈跟踪,请使用 --v=5 或更高版本执行"], "stdout": "", "stdout_lines": []
# cat /etc/kubernetes/kubeadm-config.yaml
apiVersion: kubeadm.k8s.io/v1beta2
kind: InitConfiguration
localAPIEndpoint:
advertiseAddress: master1_IP
bindPort: 6443
certificateKey: xxx
nodeRegistration:
name: node1
taints:
- effect: NoSchedule
key: node-role.kubernetes.io/master
criSocket: /var/run/dockershim.sock
---
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
clusterName: cluster.local
etcd:
external:
endpoints:
- https://master1:2379
- https://master2:2379
- https://master3:2379
caFile: /etc/ssl/etcd/ssl/ca.pem
certFile: /etc/ssl/etcd/ssl/node-node1.pem
keyFile: /etc/ssl/etcd/ssl/node-node1-key.pem
dns:
type: CoreDNS
imageRepository: docker.io/coredns
imageTag: 1.6.0
networking:
dnsDomain: cluster.local
serviceSubnet: IP/18
podSubnet: IP/18
kubernetesVersion: v1.16.3
controlPlaneEndpoint: master1_IP:6443
certificatesDir: /etc/kubernetes/ssl
imageRepository: gcr.io/google-containers
apiServer:
最佳答案
首先你需要更新过期的证书,使用kubeadm
来完成这个:
kubeadm alpha certs renew apiserver
kubeadm alpha certs renew apiserver-kubelet-client
kubeadm alpha certs renew front-proxy-client
接下来生成新的kubeconfig
文件:
kubeadm alpha kubeconfig user --client-name kubernetes-admin --org system:masters > /etc/kubernetes/admin.conf
kubeadm alpha kubeconfig user --client-name system:kube-controller-manager > /etc/kubernetes/controller-manager.conf
# instead of $(hostname) you may need to pass the name of the master node as in "/etc/kubernetes/kubelet.conf" file.
kubeadm alpha kubeconfig user --client-name system:node:$(hostname) --org system:nodes > /etc/kubernetes/kubelet.conf
kubeadm alpha kubeconfig user --client-name system:kube-scheduler > /etc/kubernetes/scheduler.conf
复制新的 kubernetes-admin
kubeconfig
文件:
cp /etc/kubernetes/admin.conf ~/.kube/config
最后需要重启:kube-apiserver
、kube-controller-manager
和kube-scheduler
。您可以使用以下命令或仅重启主节点:
sudo kill -s SIGHUP $(pidof kube-apiserver)
sudo kill -s SIGHUP $(pidof kube-controller-manager)
sudo kill -s SIGHUP $(pidof kube-scheduler)
此外,您还可以在 github 上找到更多信息和 this answer可能对您有很大帮助。
关于kubernetes:无法加载现有证书 apiserver-etcd-client:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66151379/
我使用 kubeadm 安装了 kubernetes .为了启用基本身份验证,我添加了 --basic-auth-file=/etc/kubernetes/user-password.txt在我的 /
当使用kubeadmin init设置kubernetes集群时,它会创建一个集群,该集群将kube-apiserver,etcd,kube-controller-manager和kube-sched
我是OpenShift和Kubernetes的新手。 我需要在现有OpenShift环境上访问kube-apiserver oc v3.10.0+0c4577e-1 kubernetes v1.10.
假设拥有三个主节点的K8s集群, 我需要从在所有三个节点上运行的每个kube-apiserver还是仅从其中一个节点获取指标? 如果只有其中之一,那么我是否需要担心始终确保从同一节点获取指标,还是让d
我已经在centos上安装了etcd和kubernetes,现在我想安装kube-apiserver。我通过 snap 安装了 kube-apiserver。 sudo yum install epe
我正在尝试使用 kubeadm 在 Azure 中创建一个 HA Kubernetes 集群如此处所述 https://kubernetes.io/docs/setup/independent/hig
我按照官方Creating HA clusters with kubeadm搭建了一个高可用的Kubernetes集群指导。这是一个用于探索本地高可用性部署可行性的实验性集群,因此我在 VMware
诚挚的歉意。 我有一个4节点的Kubernetes集群,其中包含1个主节点和3个工作节点。我使用kubeconfig连接到kubernetes集群,因为昨天我无法使用kubeconfig连接。kube
我有一个健康的k8s集群。 kube-apiserver使用端口 8443 。 然后我做下面的事情。我也创建/编辑服务,并分配一个固定的nodePort 8443 。 apiVersion: v1 k
我今天重新启动了我的系统。之后,我的主系统和 Web 浏览器未连接以查找 kubernetes GUI。 当我运行命令时 systemctl status kube-apiserver.service
我正在尝试为开发环境(本地虚拟机)设置 kubernetes 集群。因为它是开发,所以我没有使用 api 服务器的工作证书。看来我必须使用安全连接才能连接小守护进程,例如 kube-proxy和kub
查看安装 Knative 的文档需要 Kubernetes 集群 v1.11 或更新版本并启用 MutatingAdmissionWebhook 准入 Controller 。因此,检查文档,我看到以
基本问题:当我尝试在我的主节点上使用 kube-apiserver 时,我收到 command not found 错误。如何安装/配置 kube-apiserver?任何指向示例的链接都会有所帮助。
kube-apiserver 是由 kubeadm init 创建的配置中的 containerd.service 启动的,如何检查 containerd.service 的配置以及它如何知道如何启动
如果我在重启后使用 kubectl 命令,我将收到错误消息。 x.x.x.x: 6443 被拒绝-您是否指定了正确的主机或端口? 如果我用 docker ps 检查我的容器,kube-apiserve
我的集群证书已过期,现在我无法执行任何 kubectls 命令。 root@node1:~# kubectl get ns Unable to connect to the server: x509:
sleeve mode Weave Net 允许将 NAT 后面的节点添加到网格中,例如没有外部 IP 的公司网络中的机器。 当 Weave Net 与 Kubernetes 一起使用时,可以将此类节
我对Kuberenetes / Dockers很陌生,并计划创建一个简单的Python Pod 它在群集上运行,并以固定的时间间隔(例如每天一次)映射群集节点和Pod。 我正计划使用可轻松访问kube
我在 1.10.11 K8s 版本中启动 kube-apiserver 时遇到不少故障。 它的健康检查返回 poststarthook/rbac/bootstrap-roles 失败。很烦人,出于安全
我在 AWS 上使用 KubeSpray 配置了一个集群。它有两个堡垒,一个 Controller ,一个 worker 和一个 etcd 服务器。 我在 APISERVER 日志中看到无穷无尽的消息
我是一名优秀的程序员,十分优秀!