Unable to register node “xxx“ with API server: Unauthorized

简介: 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
相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
3月前
|
Web App开发 JavaScript NoSQL
深入浅出:构建基于Node.js的RESTful API
在当今快速发展的互联网时代,RESTful API已成为前后端分离架构中不可或缺的一部分。本文旨在为初学者和中级开发人员提供一个清晰、简洁的指南,详细介绍如何使用Node.js构建一个高效、可维护的RESTful API。通过结合实际案例,本文将从API设计理念出发,深入讲解如何利用Express框架及MongoDB数据库实现API的增删改查功能,同时探讨如何通过JWT进行安全认证,确保数据传输的安全性。此外,文章还将简要介绍如何使用Swagger生成API文档,使得API的测试和维护更加便捷。无论你是希望提升现有项目的API设计,还是想从零开始构建一个新项目,本文都将为你提供一条清晰的道路
|
13天前
|
缓存 监控 JavaScript
Node.js中构建RESTful API的最佳实践
【4月更文挑战第30天】本文介绍了在Node.js中构建RESTful API的最佳实践:选择合适的框架(如Express、Koa)、设计清晰的API接口(遵循HTTP动词和资源路径)、实现认证授权(JWT、OAuth 2.0)、错误处理、限流缓存、编写文档和测试,以及监控性能优化。这些实践有助于创建健壮、可维护和易用的API。
|
13天前
|
JavaScript API 开发者
深入了解Node.js的文件系统:Node.js文件系统API的使用与探索
【4月更文挑战第30天】本文深入探讨了Node.js的文件系统API,介绍了如何引入`fs`模块进行文件操作。内容包括异步读取和写入文件、删除文件、创建目录以及使用文件流进行高效操作。此外,还提到了文件系统的监视功能,帮助开发者全面掌握在Node.js中处理文件和目录的方法。
|
26天前
|
JavaScript API
Node.js API实例讲解——FS 文件夹操作
Node.js API实例讲解——FS 文件夹操作
32 0
|
2月前
|
Web App开发 JavaScript 前端开发
使用Node.js和Express构建RESTful API
使用Node.js和Express构建RESTful API
27 0
|
2月前
|
DataWorks 大数据 API
DataWorks常见问题之弹内API 服务不可用Server unreachable如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
36 1
|
3月前
|
NoSQL JavaScript 前端开发
深入浅出:使用Node.js和MongoDB构建RESTful API
在当今的软件开发领域,构建高效、可扩展的Web服务已成为开发者的重要任务之一。本文将引导读者通过现代JavaScript环境——Node.js,搭配流行的NoSQL数据库MongoDB,一步步构建一个RESTful API。不同于常规的摘要,我们将采用故事化的方式,通过一个虚构的应用“BookFinder”的开发旅程,带领读者理解API设计、数据库交互及安全性考量等关键知识点。无论你是前端工程师希望深化后端知识,还是后端新手寻求实践机会,本文都将提供你所需的指南和启示。
|
5月前
|
JavaScript API 网络架构
Node.js RESTful API如何使用?
Node.js RESTful API如何使用?
81 0
|
5月前
|
Kubernetes API 网络架构
k8s学习-CKS真题-启用API Server认证,禁止匿名访问
k8s学习-CKS真题-启用API Server认证,禁止匿名访问
78 0
|
2天前
|
安全 API 开发者
智能体-Agent能力升级!新增Assistant API & Tools API服务接口
ModelScope-Agent是一个交互式创作空间,它支持LLM(Language Model)的扩展能力,例如工具调用(function calling)和知识检索(knowledge retrieval)。它已经对相关接口进行了开源,以提供更原子化的应用LLM能力。用户可以通过Modelscope-Agent上的不同代理(agent),结合自定义的LLM配置和消息,调用这些能力。