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源代码 ...
随机推荐
- 第10组 Alpha冲刺 (6/6)
1.1基本情况 ·队名:今晚不睡觉 ·组长博客:https://www.cnblogs.com/cpandbb/p/14008187.html ·作业博客:https://edu.cnblogs.co ...
- MySQL索引失效之隐式转换
常见索引失效: 1. 条件索引字段"不干净":函数操作.运算操作 2. 隐式类型转换:字符串转数值:其他类型转换 3. 隐式字符编码转换:按字符编码数据长度大的方向转换,避免数据截 ...
- vue3.0+vite+ts项目搭建--vite.config.ts配置(三)
vite.config.ts配置 配置路径处理模块 安装ts的类型声明文件 yarn add @types/node -D 通过配置alias来定义路径的别名 resolve: { alias: { ...
- test_6 python的列表去重
1.使用内置函数set() set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集.差集.并集等. 2.创建一个空的列表进行比较,把不重复的元素添加到新的列表中 #co ...
- Sentry 企业级数据安全解决方案 - Relay PII 和数据清理
本文档描述了一种我们希望最终对用户隐藏的配置格式.该页面仍然存在的唯一原因是当前 Relay 接受这种格式以替代常规数据清理设置. 以下文档探讨了 Relay 使用和执行的高级数据清理配置的语法和语义 ...
- leetcode 264. 丑数 II 及 313. 超级丑数
264. 丑数 II 题目描述 编写一个程序,找出第 n 个丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, ...
- HTTP API认证授权方案
目录 一.需求背景 二.常用的API认证技术 2.1 App Secret Key + HMAC 2.2 OAuth 2.0 2.2.1 Authorization Code Flow 2.2.2 C ...
- netty系列之:好马配好鞍,为channel选择配套的selector
目录 简介 netty服务的基本构建方式 EventLoopGroup channel 多种构建方式 其他的channel 总结 简介 我们知道netty的基础是channel和在channel之上的 ...
- 【刷题-LeetCode】154 Find Minimum in Rotated Sorted Array II
Find Minimum in Rotated Sorted Array II Suppose an array sorted in ascending order is rotated at som ...
- 外观模式(Facade模式)
外观模式的定义与特点 外观(Facade)模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式.该模式对外有一个统一接口,外部应用程序不用关心内部子系 ...