• 2024-07-06Linux容器篇-使用kubeadm搭建一个kubernetes集群
    kubernetes集群架构和组件master节点组件kube-apiserver:KubernetesAPI,集群的统一入口,各组件的协调者,以RESTfulAPI提供接口服务,所有对象资源的增删改查和监听操作都交给APIserver处理后再交给Etcd存储。kube-controller-manager:处理集群中的常规后台事务,一个资源对应
  • 2024-06-22k8s集群搭建及对一些组件的简单理解(一)
    背景k8s的学习环境(用kubeadm方式搭建),我也搭过几次了,但都有点问题。要么在云服务器上弄,这个的问题是就只有一台轻量服务器,只能搭个单节点的;后来买了一台便宜的,所以就有了两台,但是不在一个zone,一个是广州,一个是成都,内网不通,感觉搭起来很麻烦,还没试过。要么是在本机的虚拟机上搞(vm
  • 2024-06-20k8s探针类型及探针配置
    探针类型:存活探针(LivenessProbe):用于判断容器是否存活(running状态),如果LivenessProbe探针探测到容器不健康,则kubelet杀掉该容器,并根据容器的重启策略做相应的处理。如果一个容器不包含LivenessProbe探针,则kubelet认为该容器的LivenessProbe探针返回的值永远是“Success”。
  • 2024-06-18无状态Pod的创建流程
    我们知道无状态工作负载Deployment创建容器组,是通过控制ReplicaSet来实现的,下面我们了解下ReplicaSet创建Pod的详细流程。  图中有三个List-Watch,分别是ControllerManager(运行在Master),Scheduler(运行在Master),kubelet(运行在Node)。它们在进程一启动就会监听(Watch)APIServ
  • 2024-06-16k8s 使用docker作为容器进行时
    在Kubernetes集群中使用Docker作为容器运行时,您需要确保Kubernetes的配置能够正确地指向Docker守护进程。以下是使用Docker作为Kubernetes容器运行时的一般步骤:安装Docker:在所有Kubernetes节点(包括主节点和工作节点)上安装Docker。参考上一个回答中的步骤来在R
  • 2024-05-30Ubuntu22.04安装部署基于dockers的K8s目前最新版本1.30.1版本
    其实之前也写过其他系统、其他版本的部署,但是,由于在1.28版本之后,安装略有所变化,所以,这里再写一篇基础环境主机名配置角色系统版本IP安装的组件master4核4GmasterUbuntu22.04192.168.140.75apiserver、controller-manager、scheduler、kubelet、etcd、kube-pro
  • 2024-05-26kubelet gc 源码分析
    代码kubernetes1.26.15问题混部机子批量节点NotReady(十几个,丫的重大故障),报错为:意思就是rpc超了,节点下有太多PodSandBox,crictlps-a一看有1400多个。。。大量exited的容器没有被删掉,累积起来超过了rpc限制。PodSandBox泄漏,crictlpods可以看到大量同名但是podid不
  • 2024-05-22containerd 源码分析:kubelet 和 containerd 交互
    0.前言Kubernetes:kubelet源码分析之创建pod流程介绍了kubelet创建pod的流程,其中介绍了kubelet调用runtimecri接口创建pod。containerd源码分析:启动注册流程介绍了containerd作为一种行业标准的高级运行时的启动注册流程。那么,kubelet是怎么和containerd
  • 2024-05-20Kubernetes:kubelet 源码分析之探针
    0.前言kubernetes提供三种探针,配置探针(Liveness),就绪探针(Readiness)和启动(Startup)探针判断容器健康状态。其中,存活探针确定什么时候重启容器,就绪探针确定容器何时准备好接受流量请求,启动探针判断应用容器何时启动。本文通过分析kubelet源码了解kubernetes的探针是怎么工作
  • 2024-05-20Kubernetes:kubelet 源码分析之 pod 创建流程
    0.前言kubelet是运行在Kubernetes节点上的“节点代理”,用来管理节点。kubelet主要负责所在节点上的资源对象的管理,例如Pod资源对象的创建,删除,监控,驱逐及生命周期管理等。1.kubelet源码分析1.1kubelet模块kubelet包括的模块如下图:从图中可以看出,kubelet的模
  • 2024-04-28Ubuntu22.04 搭建Kubernetes 1.28版本集群
    依赖安装准备工作需要在所有节点上进行。安装ssh服务安装 openssh-serversudoapt-getinstallopenssh-server修改配置文件vim/etc/ssh/sshd_config找到配置项LoginGraceTime120PermitRootLoginprohibit-passwordStrictModesyes把 prohibit-password 
  • 2024-04-17k8s更新证书
    环境操作系统:centos7.9.2009集群架构:三个节点,一主两从,k8s版本v1.21.5,kubesphere安装的集群,应该算是kubeadm部署的集群ip:192.168.106.130,192.168.106.131,192.168.106.132集群状态:3个节点证书过期,全都挂掉这是我2022年在虚拟机装的集群,现在时间是2024年3月29日报错信息[root
  • 2024-04-16k8s之容器运行时
    Kubernetes中的容器运行时容器运行时(ContainerRuntime)是Kubernetes最重要的组件之一,负责真正管理镜像和容器的生命周期。Kubelet通过ContainerRuntimeInterface(CRI)与容器运行时交互,以管理镜像和容器。​ 容器运行时接口(ContainerRuntimeInterface(CRI))是Kube
  • 2024-04-15error: code = Unimplemented desc = unknown service runtime.v1.RuntimeService"
    问题"commandfailed"err="failedtorunKubelet:validateserviceconnection:validateCRIv1runtimeAPIforendpointunix:///run/containerd/containerd.sock":rpcerror:code=Unimplementeddesc=unknownserviceruntime.v1.RuntimeSe
  • 2024-04-07单节点部署K8S
    K使用Kubeadm搭建单节点安装前注意进行快照,方便多次安装练习。虚拟机基础信息系统:Ubuntu20.04.6LTS内核:5.15.0-67-generic硬盘:60G内存:12GCPU:4C4U本次安装参考博客地址:https://glory.blog.csdn.net/article/details/120606787安装前准备1.关闭防火墙systemctlstat
  • 2024-03-29基于containerd 部署 kubernetes 1.28集群
    1、准备说明8台Linux主机,安装Ubuntu20.04系统,其中2台haproxy,3台master节点,3台work节点每台主机不低于2GB内存大小,CPU大于2核心集群中的所有主机网络互通节点中不能存在重复的主机名、mac地址或者product_uuid交换分区配置。kubelet默认是在节点上检测到交换分区时,无法启动
  • 2024-03-21Kubernetes之Pod基本原理与实践
    一、Pod的定义与基本用法1.Pod是什么Pod是可以在Kubernetes中创建和管理的、最小的可部署的计算单元。Pod不是进程,而是容器运行的环境。Pod所建模的是特定于应用的“逻辑主机”,其中包含一个或多个应用容器。当Pod包含多个应用容器时,这些容器的应用之间应该是
  • 2024-03-21解决 [FATAL] plugin/loop: Loop (127.0.0.1:49443 -> :53) detected for zone "." 报错
    问题背景:这个是安装k8s时报的错,安装使用的是ubuntu系统,当安装到coredns时报如下错 解决方法:查找了一番资料,得出结论这个算是ubuntu和k8scoredns安装的一个兼容性问题,不过很好解决,参照coredns官方文档就可以~首先贴出官网:https://coredns.io/plugins/loop/#troubleshooting
  • 2024-03-14Kubernetes集群节点处于Not Ready问题排查
    Kubernetes集群节点处于NotReady问题排查原创 点击关注
  • 2024-03-13使用kubeadm部署Kubernetes 1.26及其它版本
    1.系统配置环境信息:系统:CentOSLinuxrelease7.6.1810(Core)k8s版本:1.26.0(可自己选择)IP主机名规划角色192.168.223.123auto-inspaction-1master192.168.223.68auto-inspaction-0node192.168.223.73auto-inspaction-2node在各个主机上完成下
  • 2024-03-12K8S初始化master单节点(不使用配置文件,直接只用Kebuadm init)
    该文章主要记录初始化过程,及过程中遇到的问题卸载之前安装过的K8s集群点击查看详细代码#首先清理运行到k8s群集中的pod,使用kubectldeletenode--all#使用脚本停止所有k8s服务forserviceinkube-apiserverkube-controller-managerkubectlkubeletetcdkube-proxy
  • 2024-03-12如何突破k8s node单节点可运行的pod数上限
    如何突破k8snode单节点可运行的pod数上限原创 zhuhb 运维笔谈 2024-02-1108:19 江苏 听全文前记:kubernetes每个node节点默认可运行的pod数目上限是110个。我们有个单节点的kubernetes测试环境,随着上线的应用越来越多,今天早上查看有pod启动失败,提示没有可用的调度
  • 2024-03-09kubelet的功能、作用是什么
    kubelet部署在每个node节点上的,它主要有4个功能:1、节点管理。kubelet启动时会向api-server进行注册,然后会定时的向api-server汇报本节点信息状态,资源使用状态等,这样master就能够知道node节点的资源剩余,节点是否失联等等相关的信息了。master知道了整个集群所有节点的资源情况,这对
  • 2024-03-05Kubelet安装时子节点出现:kube-proxy-7jxg4 ContainerCreating
    一般分为两种情况主节点问题和kube-proxy问题:1、查看报错:kubectldescribepodkube-proxy-7jxg4-nkube-system2、子节点查看相关报错信息journalctl-ukubelet-f可以看出是创建容器失败:1、可能是docker镜像没有导入2、网络问题,重启看一下cri-docker是否有报错信息
  • 2024-03-05k8s名词巩固
    DeploymentDeployment控制器通过ReplicaSet来创建并管理Pod,同时具有版本升降级的功能。ReplicaSet相对于ReplicationController来言拥有更先进的标签选择器,ReplicationController只支持旧式的标签选择器。DaemonSetDaemonSet可以确保每个工作节点上最多运行一个应用副本,这个