Unable to register node “xxx“ with API server: Unauthorized
k8s二进制部署环境出现kubelet认证不了节点
出现这个情况的时候,第一个反应是先看apiserver证书是不是过期了
# 查看apiserver的service文件存储路径
systemctl status kube-apiserver | grep load
# 查找apiserver的启动参数,查看ca证书的存储路径
cat /usr/lib/systemd/system/kube-apiserver.service
# 查看EnviromentFile,或者直接可以看到启动参数,以实际的为准
grep 'ca.pem' /opt/k8s/etc/kubernetes/apiserver
# 使用openssl命令查看证书过期时间
openssl x509 -noout -text -in /opt/k8s/etc/kubernetes/ssl/ca.pem | grep Not
Not Before: Dec 21 09:39:00 2019 GMT
Not After : Dec 20 09:39:00 2023 GMT
可以看到,根证书并没有过期,此时就要去删除kubelet的证书,重启kubelet后重新生成证书,一般这样操作完,节点就正常Ready了
# 查看kubelet的service文件存储路径
systemctl status kubelet | grep load
# 查找kubelet的启动参数,查看kubelet.kubeconfig证书的存储路径
cat /usr/lib/systemd/system/kubelet.service
# 查看EnviromentFile,或者直接可以看到启动参数,以实际的为准
grep 'kubelet.kubeconfig' /opt/k8s/etc/kubernetes/kubelet
# 停止kubelet服务
systemctl stop kubelet
# 删除kubelet.kubeconfig文件,以自己的实际路径为准
rm -f /opt/etc/kubernetes/kubelet.kubeconfig
# 重新启动kubelet
systemctl start kubelet
但是这一顿操作完,节点依然是NotReady,kubelet的日志也依然是认证不了节点,于是我生气了
kubectl get csr --no-headers=true | awk '{print $1}' | xargs kubectl delete csr
删掉集群的csr证书后,再次重复上面的擦作,此时在去看csr,会出现和节点数量相同的证书,并且状态是Pending的,只需要重新approve一下,节点就都恢复到Ready的状态了
kubectl get csr | awk '/Pending/ {print $1}' | xargs kubectl certificate approve
Unable to register node “xxx“ with API server: Unauthorized的更多相关文章
- [Node.js] 08 - Web Server and REST API
有了 [Node.js] 07 - Html and Http 作为基础,再继续下面的内容. Node.js 路由 Node.js GET/POST请求 Node.js Web 模块 Node.js ...
- Derek解读Bytom源码-Api Server接口服务
作者:Derek 简介 Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom ...
- Node.js 常用 API
Node.js v6.11.2 Documentation(官方文档) Buffer Prior to the introduction of TypedArray in ECMAScript 20 ...
- Node.js RESTful API
什么是REST架构? REST表示代表性状态传输.REST是一种基于Web标准的架构,并使用HTTP协议. 它都是围绕着资源,其中每一个组件是资源和一个资源是由一个共同的接口使用HTTP的标准方法获得 ...
- k8s中的api server的ca证书,可以和front proxy ca证书一样么?
答案是: 绝对不可以! 因为请求先验证的是 --requestheader-client-ca-file CA 然后才是--client-ca-file. . 那获取的用户名就会通不过了. 所以会影响 ...
- K8S Api Server认证
目录 认证类型 基于CA证书的双向认证 apiserver端配置 生成客户端私钥和证书 master核心组件与apiserver的认证方式 HTTP Token认证 HTTP Basic认证 kube ...
- 十个书写Node.js REST API的最佳实践(上)
收录待用,修改转载已取得腾讯云授权 原文:10 Best Practices for Writing Node.js REST APIs 我们会通过本文介绍下书写Node.js REST API的最佳 ...
- Kubernetes API server工作原理
作为Kubernetes的使用者,每天用得最多的命令就是kubectl XXX了. kubectl其实就是一个控制台,主要提供的功能: 1. 提供Kubernetes集群管理的REST API接口,包 ...
- 资深专家深度剖析Kubernetes API Server第3章(共3章)
在本系列的前两部分中我们介绍了API Server的总体流程,以及API对象如何存储到etcd中.在本文中我们将探讨如何扩展API资源. 在一开始的时候,扩展API资源的唯一方法是扩展相关API源代码 ...
随机推荐
- Centos 7.6关闭selinux
查看selinux状态 [root@localhost ~]# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SE ...
- Spring学习:简单实现一个依赖注入和循环依赖的解决
依赖注入 什么是依赖注入 使用一个会创建和查找依赖对象的容器,让它负责供给对象. 当a对象需要b对象时,不再是使用new创建,而是从容器中获取,对象与对象之间是松散耦合的关系,有利于功能复用. 依赖: ...
- 手动安装selenium包
1.下载selenium安装包 https://pypi.org/project/selenium 2.解压selenium-3.12.0.tar.gz 3.cmd环境进入到selenium的setu ...
- Visual Studio 2019 与 Visual Studio 2022的下载方式
相信大家目前百度或者其他搜索引擎搜索到的都是2022了,那么vs2019该如何安装呢? vs2019下载地址:https://visualstudio.microsoft.com/zh-hans/th ...
- [硬拆解]拆解一个USB转CAN总线设备-PCAN-USB
介绍 PCAN-USB适配器可以简单地连接到CAN网络.其紧凑的塑料外壳使它适合移动应用.光电去耦版隔离了PC和CAN端之间高达500伏特的电流隔离. 该包还提供了Windows的CAN monito ...
- 1000粉!使用Three.js制作一个专属3D奖牌🥇
背景 破防了 !突然发现 SegmentFault 平台的粉丝数量已经突破 1000 了,它是我的三个博客平台掘金.博客园.SegmentFault中首个粉丝突破 1000 的,于是设计开发这个页面, ...
- 1.IO流
1.组成部分 File.FileInputStream.FileOutStream.FileWriter.FileReader 2.File pathSeparatorChar ; separator ...
- springmvc复习导图
spingmvcweb请求
- 『无为则无心』Python基础 — 43、文件备份的实现
目录 1.需求 2.步骤 3.代码实现 (1)接收用户输入目标文件名 (2)规划备份文件名 (3)备份文件写入数据 (4)思考 (5)完整编码 4.再来一个小练习 1.需求 用户输入当前目录下任意文件 ...
- 泛型编程与 OI——modint
博客链接. 在 OI 中,有大量的题目要求对一些数字取模,这便是本文写作的背景. 背景介绍 这些题目要么是因为答案太大,不方便输出结果,例如许多计数 dp:要么是因为答案是浮点数,出题人不愿意写一个确 ...