• 2024-09-18(装)K8s 总体架构及目录结构
    原文:https://www.guoshaohe.com/cloud-computing/kubernetes-source-read/12491.kubernetes总体架构目前想对kubernetes1.21的源码进行一次阅读分析,本篇文章是对k8s的整体架构进行一个大致分析,先要搞清楚每个组件的功能和任务,在根据不同的组件进行深度的源码分析。
  • 2024-09-18kubelet获取pod ip
    k8sv1.19.0podip不是由cni告诉kubelet的,而是kubeletpleg基于cri得到。pkg/kubelet/pleg/generic.go Start->relist->updateCache(更新本地缓存,供其他流程使用)->pkg/kubelet/kuberuntime/kuberuntime_manager.goGetPodStatus(从最新pause容器获取podip)->pkg/kubelet/k
  • 2024-09-14openEuler22.03关闭交换分区swap失败处理
    在架设很多上层应用系统时会遇到很多需要关闭swap的操作,例如安装Kubernetes节点。通常的做法是在/etc/fstab文件中注销swap分区的挂载,但是没有起作用,运行free-h还是能看见挂载的swap,而通过命令sudoswapoff-a&&sudosystemctlrestartkubelet.service是能够关闭并成功启
  • 2024-09-09k8s集群部署:安装 kubeadm
    1、确保已经将SELinux设置为permissive模式:这些说明适用于Kubernetes1.31。#SetSELinuxinpermissivemode(effectivelydisablingit)sudosetenforce0sudosed-i's/^SELINUX=enforcing$/SELINUX=permissive/'/etc/selinux/config2、下载并安装相关软件
  • 2024-09-08kubelet监控worker节点如何实现
    Kubelet是Kubernetes中的关键组件,负责在每个工作节点(workernode)上管理容器和Pod。监控工作节点的状态和性能是Kubelet的重要功能之一。以下是Kubelet监控工作节点的实现原理和方式:1.NodeStatusReporting心跳机制:Kubelet定期向KubernetesAPIServer发送心跳信
  • 2024-09-08request limit底层是怎么限制的
    在Kubernetes中,资源请求(requests)和限制(limits)是通过容器的资源管理来控制的,主要涉及以下几个方面:1.请求与限制的概念请求(Requests):是容器启动时所需的最低资源量(如CPU和内存)。Kubernetes使用这个值来决定将Pod调度到哪个节点上。限制(Limits):是容器可以使用的最大资源量
  • 2024-09-08kubectl exec 实现的原理
    kubectlexec是Kubernetes中用于在运行中的Pod内部执行命令的一个常用命令。其实现原理涉及多个组件的协作,包括KubernetesAPIServer、Kubelet和容器运行时。以下是kubectlexec的工作原理详细说明:1.用户输入命令用户通过kubectlexec命令指定要在某个Pod内执行
  • 2024-09-07简述删除一个Pod流程
    删除一个Pod的流程在Kubernetes(K8s)中是一个相对简单但又涉及多个步骤的过程。以下是删除Pod的简要流程:1.发起删除请求用户可以通过kubectldeletepod<pod-name>命令或K8sAPI发起删除Pod的请求。2.APIServer接收请求APIServer接收到删除请求后,会验证请求的有效性。如
  • 2024-09-07简述Pod创建过程
    在Kubernetes(K8s)中,Pod是最基本的部署单位,其创建过程涉及多个步骤。以下是Pod创建的简要流程:1.定义Pod规范用户通过YAML或JSON文件定义Pod的规格(spec),包括容器镜像、环境变量、存储卷等信息。2.提交请求用户使用kubectl命令行工具或K8sAPI将Pod的定义提交给Kubernetes集群。
  • 2024-09-07【第97课】云上攻防-云原生篇&Kubernetes&K8s安全&API&Kubelet未授权访问&容器执行
    免责声明本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。文中所涉
  • 2024-09-05D17 kubernetes Pod生命周期
    1、创建pod当创建一个pod时,它是通过多个组件来完成的假设通过kubeletrunnginx--image=ningx命令创建一个pod,其工作流程如下:1、kubectl向APIserver发起创建pod的请求,请求中包含pod的配置信息2、APIserver接收到请求后,校验字段合法性,例如格式、镜像地址不能为空等,校验通
  • 2024-09-05Kubernetes学习指南:保姆级实操手册06——部署kubernetes集群
    Kubernetes学习指南:保姆级实操手册06——部署kubernetes集群1、配置YUM源###在所有Master节点执行#配置yum源cat>/etc/yum.repos.d/kubernetes.repo<<EOF[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x8
  • 2024-08-30[kubernetes]使用kubeadm和containerd部署kubernetes
    前言因宿主机内核版本限制和垂直伸缩特性的需要,安装的k8s版本为1.25,runtime为containerd,cni为calico。containerd、kubeadm、kubelet也可以用包管理器来安装,因为不想配repo,也不想校验repo版有哪些区别,所以这几个都是用原生二进制方式安装的。环境信息IPHostnameOSVersio
  • 2024-08-12在K8S中,陈述⼀下创建Pod的流程?
    创建Pod是Kubernetes集群管理的基本操作之一。创建Pod的流程涉及多个组件和步骤,包括APIserver、ControllerManager、Scheduler等核心组件的交互和协作。以下是创建Pod的一般流程:发起创建Pod请求认证授权:用户通过kubectl命令向APIServer发起创建Pod的请求,APIServer对请求进
  • 2024-08-08【Kubernetes】pod状态与故障排查
    一、Pod启动阶段(相位phase)pod创建完之后,一直到持久运行起来,中间有很多步骤,也就有很多出错的可能,因此会有很多不同的状态。Pod的启动过程如下:0)controller-manager管理的控制器创建Pod资源1)scheduler调度器根据调度算法选择最适合的node节点调度Pod2)kubelet拉取镜像3)kubel
  • 2024-08-06K8S云原生-高可用集群部署V1.28.2
    一、环境准备K8S集群角色IP主机名安装相关组件master10.1.16.160hqiotmaster07lapiserver、controller-manager、scheduler、kubelet、etcd、docker、kube-proxy、keepalived、nginx、calicomaster10.1.16.161hqiotmaster08lapiserver、controller-manager、sc
  • 2024-08-06kubernetes二进制安装 -- 1.30.3
    1、节点规划10.202.99.34master0110.202.99.35master0210.202.99.36master0310.202.99.37node0110.202.99.100vip2、环境准备2.1、关闭防火墙、selinux、swap和NetworkManager#关闭selinux##临时关闭setenforce0##永久关闭sed-i's/enforcing/disabl
  • 2024-08-04kubelet节点资源预留
    目录一、NodeAllocatable1、node资源预留1.1为什么要做资源预留?1.2nodeallocatable1.2.1查看node节点资源1.2.2确认node01节点资源2、配置资源预留2.1kube预留值2.2systemReserved预留2.3evictionHard预留2.4整体配置2.5重启服务2.6Allocatable资源说明一、NodeA
  • 2024-07-23在K8S中,集群内有个节点not ready,如何排查?
    在Kubernetes(K8s)集群中,如果有一个节点处于"NotReady"状态,这可能意味着该节点无法接受新的工作负载或存在其他问题。具体分析如下:检查节点状态使用基本命令查看节点状态:需要确认节点确实处于“未就绪”状态。使用kubectlgetnodes命令可以列出所有节点的状态。例如,您可能会
  • 2024-07-20国产化麒麟操作系统部署K8S
    国产化银河麒麟操作系统(Kylin)部署K8S集群一、K8S集群节点准备1.1主机操作系统说明序号操作系统及版本备注1Kylin-Server-10-SP2-x861.2主机硬件配置说明需求CPU内存硬盘角色主机名值4C8G100GBslave1slave1值4C8G100GBslave2slave21.3主机配置1.3.1主机名配置由
  • 2024-07-19kubeadm 安装的集群证书更新
    kubelet证书更新方式一所有的worker的kubelet节点重新加入集群,kubeadmjoin...方式二试用版本v1.18以上配置kubelet自动更新证书,参考为kubelet配置证书轮换|Kuberneteskubelet 进程接收 --rotate-certificates 参数,该参数决定kubelet在当前使用的证书即将到
  • 2024-07-10k8s安装v1.30.2(contanerd容器运行时)实录
    一、主机准备主机名NATIP系统配置k8s-master192.168.1.201ubuntu18.04.62C2Gk8s-node01192.168.1.202ubuntu18.04.62C2Gk8s-node02192.168.1.203ubuntu18.04.62C2G   二、前提主机配置好网络、ntp,关闭ufw,swap,安装好containerd,runc服务三
  • 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”。