Kubernetes 离线安装的坑我采了

Kubernetes 离线安装的坑我采了

  • 一、Error from server: Get "https://xx.xx.xx.xx:10250/containerLogs/kube-system/calico-node-8dnvs/calico-node": tls: failed to verify certificate: x509: certificate signed by unknown authority
  • 二、calico 或 pod 启动正常,但是执行 kubectl logs -n kube-system calico-node-v9z7m 时提示:Error from server: Get "https://worker02:10250/containerLogs/kube-system/calico-node-v9z7m/calico-node": tls: failed to verify certificate: x509: certificate signed by unknown authority
  • 三、kubelet 无法拉取镜像问题
  • 四、calico 安装报错:[ERROR][73] felix/health.go 360: Health endpoint failed, trying to restart it... error=listen tcp: lookup localhost on [::1]:53: dial udp [::1]:53: connect: no route to host
  • 五、pod 无法删除,可以使用强制删除命令:kubectl delete pod <pod名称> --force --grace-period=0
  • 六、containerd 拉取代码是总是以 https 的方式拉取,
  • 七、pause 镜像拉取不到
  • 八、argocd 安装后部署服务提示 Failed to load live state: Namespace "x" for Deployment "x" is not managed

一、Error from server: Get “https://xx.xx.xx.xx:10250/containerLogs/kube-system/calico-node-8dnvs/calico-node”: tls: failed to verify certificate: x509: certificate signed by unknown authority

  1. 背景
    集群部署完成后,在安装网络组件 calico 的时候,运行后执行pod状态一直为 CrashLoopBackOff,集群节点状态为 NotReady。如下所示
    在这里插入图片描述
  2. 排查经过
# 查看 pod 节点日志
kubectl logs -f -n kube-system calico-node-mm2vh

在这里插入图片描述

发现可能是证书的问题,然后去node节点查找详细的日志,锁定日志文件

find / -name calico*cat /var/log/containers/calico-node-2bdcs_kube-system_install-cni-c6f4768750c25d1dd8d6908e0f3e0caf6a4e1f65974f0e6b6ade01859a52ff89.log

在这里插入图片描述

确定是证书的问题,证书有 etcd 证书,apiserver 证书,controller-manager 证书,scheduler 证书。排查后发现上述问题主要是 apiserver 证书存在问题。

  1. 解决方案
    将 IP 添加到证书生成的 hosts 中,重新生成上述证书,替换、calico 中 ETCD 证书

二、calico 或 pod 启动正常,但是执行 kubectl logs -n kube-system calico-node-v9z7m 时提示:Error from server: Get “https://worker02:10250/containerLogs/kube-system/calico-node-v9z7m/calico-node”: tls: failed to verify certificate: x509: certificate signed by unknown authority

  1. 问题原因
    是因为 apiserver 组件和 kubelet 组件通信证书问题

  2. 解决方法:
    有两种解决方法,第一种是在 kubelet config 配置文件 kubelet-config.yml 中增加配置,推荐这个方法

...
podPidsLimit: 100000
maxOpenFiles: 1000000
maxPods: 110
rotateCer

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/39751.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cesium公交车轨迹漫游

个人博客&#xff1a;CSDN 博客-满分观察网友 z 演示地址&#xff1a;哔哩哔哩-满分观察网友 z 这是一个用 Cesium.js 做的公交车轨迹漫游&#xff0c;实现的功能有加载站点和道路轨迹点数据、监听车辆的实时位置、车辆控制器。滚动屏等等。 文章目录 1. 地图初始化2. 数据渲…

【高中数学/基本不等式】已知:x,y均为正实数,且xy+2x+y=4 求:x+y的最小值?

【问题】 已知&#xff1a;x,y均为正实数&#xff0c;且xy2xy4 求&#xff1a;xy的最小值&#xff1f; 【来源】 https://www.ixigua.com/7147585275823292942?logTagf25494de7fce23a3a3d0 【解答】 解&#xff1a; 由xy2xy4 两边加二得 xy2xy24 2 分解因式得 (x1)(…

0090__【Git系列】merge和rebase的区别

【Git系列】merge和rebase的区别_rebase和merge的区别-CSDN博客 git中rebase和merge的区别是什么-git-PHP中文网 https://blog.51cto.com/qzcsbj/9444199

从零搭建教育管理系统:Java + Vue.js 教学-02

第三步:创建实体类和 Mapper 接口 现在我们已经设计好了数据库表,接下来使用 MyBatis-Plus 将这些表映射到 Java 对象,以便在代码中轻松地进行操作。 1. 创建实体类 在 src/main/java/<your_package>/entity 目录下 (如果没有该目录,请手动创建),创建与数据库表对应…

MyBatis(20)MyBatis 事务管理如何实现

MyBatis 的事务管理是通过底层 JDBC 连接的事务管理机制来实现的。事务管理对于任何涉及多个数据库操作的应用程序来说都是至关重要的&#xff0c;它确保数据的一致性和完整性。在 MyBatis 中&#xff0c;事务管理可以通过 SQL 会话&#xff08;SqlSession&#xff09;来实现。…

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第53课-语音指令跳舞

【WEB前端2024】3D智体编程&#xff1a;乔布斯3D纪念馆-第53课-语音指令跳舞 使用dtns.network德塔世界&#xff08;开源的智体世界引擎&#xff09;&#xff0c;策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎&…

可信计算的完整专用名词列表

可信计算的完整专用名词列表 Trusted Computing - 可信计算Trusted Platform Module (TPM) - 可信平台模块Hardware Root of Trust - 硬件根信任Secure Boot - 安全启动Remote Attestation - 远程证明Integrity Measurement - 完整性度量Measurement Log - 度量日志Attestatio…

Android 图像效果的奥秘

在当今数字化时代&#xff0c;图像已经成为人们生活和工作中不可或缺的一部分。而在 Android 系统中&#xff0c;图像效果的应用更是丰富多彩&#xff0c;为用户带来了更加出色的视觉体验。本文将深入探讨 Android 图像效果的原理、实现方法以及应用场景&#xff0c;帮助读者更…

面试题springboot面试

文章目录 Spring的依赖注入构造器注入stetter注入属性注入 springboot的优势第一开箱即用约定大于配置内嵌tomcat服务器 javaweb的三大组件springboot的自动配置原理SpringIoc的实现机制springmvcspring如何简化开发 Spring的依赖注入 构造器注入 stetter注入 属性注入 使用…

按位异或^

在 Python 中&#xff0c;a ^ b 表示按位异或运算符。按位异或运算符对整数的每一位进行运算&#xff0c;如果对应位上的两个二进制数字不同&#xff0c;则结果为 1&#xff0c;否则为 0。 示例 a 5 # 二进制: 0101 b 3 # 二进制: 0011result a ^ b print(result) # 输…

私域流量:塑造企业数字营销的未来

在当今数字化的时代&#xff0c;流量成为了商业世界中的新货币&#xff0c;而“私域流量”更是其中的黄金。但“私域流量”究竟是什么&#xff1f;它如何成为企业数字化转型和营销策略中不可或缺的一部分&#xff1f;本文将探讨私域流量的概念&#xff0c;并通过案例分析其运营…

前端进阶:Vue.js

目录 框架&#xff1a; 助解&#xff1a; 框架&#xff1a; VUE 什么是Vue.js? Vue.js优点 Vue安装 方式一&#xff1a;直接用<script>引入 方式二&#xff1a;命令行工具 第一个Vue程序 代码 代码解释&#xff1a; 运行 Vue指令 v-text v-html v-tex…

Mysql和ES使用汇总

一、mysql和ES在业务上的配合使用 一般使用时使用ES 中存储全文检索的关键字与获取的商品详情的id&#xff0c;通过ES查询获取查询商品的列表中展示的数据&#xff0c;通过展示id 操作去获取展示商品的所有信息。mysql根据id去查询数据库数据是很快的&#xff1b; 为什么ES一般…

JavaScript如何声明json对象

在JavaScript中&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;对象实际上是以JavaScript对象的形式表示的。JSON是一种轻量级的数据交换格式&#xff0c;它基于ECMAScript&#xff08;欧洲计算机协会制定的js规范&#xff09;的一个子集&#xff0c;采用…

10 - Python文件编程和异常

文件和异常 在实际开发中&#xff0c;常常需要对程序中的数据进行持久化操作&#xff0c;而实现数据持久化最直接简单的方式就是将数据保存到文件中。说到“文件”这个词&#xff0c;可能需要先科普一下关于文件系统的知识&#xff0c;对于这个概念&#xff0c;维基百科上给出…

【CSharp】在class中申明public const int常量的应用

【CSharp】在class中申明public const int常量的应用 1.背景2.代码3.运行1.背景 常量本身是静态的,即常量属于class本身与其实例化对象无关,且常量不可更改。 以上两种特性在许多应用场景中都有其优势和应用场合。 1.在定义定义固定值的场景,例如状态码、事件类型、配置参…

亚马逊云科技AWS免费大热AI应用开发证书(含题库、开卷)

亚马逊云科技AWS官方生成式AI免费证书来了&#xff01;内含免费AI基础课程&#xff01;快速掌握AWS的前沿AI技术&#xff0c;后端开发程序员也可以速成AI专家&#xff0c;了解当下最&#x1f525;的AWS AI架构解决方案&#xff01; 本证书内容包括AWS上的AI基础知识&#xff0c…

解析Kotlin中的Unit【笔记摘要】

1. Kotlin的Unit 和 Java的void 的区别 // Java public void sayHello() {System.out.println("Hello!") }// Kotlin fun sayHello(): Unit {println("Hello!") }Unit 和 Java 的 void 真正的区别在于&#xff0c;void 是真的表示什么都不返回&#xff0c…

剖析DeFi交易产品之UniswapV4:Swap

文章首发于公众号&#xff1a;Keegan小钢 Swap 可分为两种场景&#xff1a;单池交易和跨池交易。在 PoolManager 合约里&#xff0c;要完成交易流程&#xff0c;会涉及到 lock()、swap()、settle()、take() 四个函数。单池交易时只需要调一次 swap() 函数&#xff0c;而跨池交易…

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(七)-shell语法(5)

shell语法的一些知识和练习&#xff0c;可以当作笔记收藏一下&#xff01;&#xff01; 文章目录 前言 一、shell 二、shell语法 1.文件重定向 2.引入外部脚本 3.作业 总结 前言 shell语法的一些知识和练习&#xff0c;可以当作笔记收藏一下&#xff01;&#xff01; 提示&…