kubelet

2024/4/11 18:05:24

k8s_入门_kubelet安装

安装 在大致了解了一些k8s的基本概念之后,我们实际部署一个k8s集群,做进一步的了解 1. 裸机安装 采用三台机器,一台机器为Master(控制面板组件)两台机器为Node(工作节点) 机器的准备有两种方式…

etcd启动过程梳理

源码地址:https://github.com/etcd-io/etcd 1. 入口 scripts/build.sh#!/usr/bin/env bash# This scripts build the etcd binaries # To build the tools, run build_tools.shsource ./scripts/test_lib.sh source ./scripts/build_lib.sh# only build when calle…

《Kubernetes部署篇:Ubuntu20.04基于二进制安装安装kubeadm、kubelet和kubectl》

一、背景 由于客户网络处于专网环境下, 使用kubeadm工具安装K8S集群,由于无法连通互联网,所有无法使用apt工具安装kubeadm、kubelet、kubectl,当然你也可以使用apt-get工具在一台能够连通互联网环境的服务器上下载kubeadm、kubele…

【kubernetes】使用virtual-kubelet扩展k8s

1 何为virtual-kubelet? kubelet是k8s的agent,负责监听Pod的调度情况,并运行Pod。而virtual-kubelet不是真实跑在宿主机上的,而是一个可以跑在任何地方的进程,该进程向k8s伪装成一个真实的Node,但是实际的…

k8s深入:源码分析pod调度完成后kubelet都干了什么?,包含k8s1.24之前和之后的逻辑区别

原文连接: 学一下 (suxueit.com)https://suxueit.com/article_detail/tNU6iI4BWZdDRfKqWP3e 判断network plugin是否就绪,如果没有就绪,则只有使用hostnework的pod可以进行下面的步骤 // if err : kl.runtimeState.networkErrors(); err ! n…

【云原生 • Kubernetes】认识 k8s、k8s 架构、核心实战

文章目录 Kubernetes基础概念1. 是什么2. 架构2.1 工作方式2.2 组件架构 3. k8s组件创建集群步骤一 基础环境步骤二 安装kubelet、kubeadm、kubectl步骤三 主节点使用kubeadm引导集群步骤四 副节点加入主节点步骤五 部署dashboard Kubernetes核心实战1. 资源创建方式2. Namespa…

Kubernetes之基本使用

Kubernetes之基本使用Kubernetes主要功能相关概念相关组件工作流程kubectl命令基本使用常用资源常用操作yaml文件语法注意事项数据类型生成yaml文件Yaml常用字段资源管理使用命令使用命令配置文件使用apply命令配置文件命名空间NameSpace命名空间概述NameSpace的创建命令方式配…

【博客694】k8s kubelet 状态更新机制

k8s kubelet 状态更新机制 场景: 当 Kubernetes 中 Node 节点出现状态异常的情况下,节点上的 Pod 会被重新调度到其他节点上去,但是有的时候我们会发现节点 Down 掉以后,Pod 并不会立即触发重新调度,这实际上就是和 K…

从源码看kubernetes与CNI Plugin的集成

更多关于kubernetes的深入文章,请看我csdn或者oschina的博客主页。 libcni cni项目提供了golang写的一个library,定义了集成cni插件的应用需调用的cni plugin接口,它就是libcni。其对应的Interface定义如下: libcni/api.go:51type CNI int…

深入剖析Kubernetes之控制器模式的实现-Deployment

文章目录 Deployment Deployment Deployment 实现了 Kubernetes 项目中一个非常重要的功能:Pod 的“水平扩展 / 收缩”(horizontal scaling out/in)。这个功能,是从 PaaS 时代开始,一个平台级项目就必须具备的编排能力…

Kubernetes Eviction Manager工作机制分析

摘要:为了极限的压榨资源,很多时候Kubernetes集群会运行一些Best-Effort Task,这样就会存在资源超配的情况,Kubernetes是如何控制Node上资源的使用,在压榨资源使用的同时又能保证Node的稳定性?本文就为你介…

Minikube搭建Kubernetes集群

Minikube搭建Kubernetes集群Minikubekubectl下载Minikube启动MinikubeMinikube命令验证Minikube插件的使用管理集群额外启动参数测试Minikube minikube是一个工具, 能让你在本地运行一个单节点的Kubernetes集群,以便你来尝试Kubernetes或者开展每天的开发…

K8S---kubelet TLS 启动引导

一、引导启动初始化过程(Bootstrap Initialization ) 1、kubeadm 生成一个Token,类似07401b.f395accd246ae52d这种格式,或者自己手动生成2、使用kubectl命令行,生成一个Secret,具体详见认证、授权3、kubelet 进程启动 (begin)4、kubelet 看到自己没有对应的 kubeconfig…

深入剖析Kubernetes之控制器模式的实现-StatefulSet

文章目录 Headless ServicePV 和 PVCStatefulSet概述StatefulSet 的工作原理 Deployment 实际上并不足以覆盖所有的应用编排问题,尤其是分布式应用,它的多个实例之间,往往有依赖关系,比如:主从关系、主备关系。还有就是…

容器钩子和探针

livenessprobe 存活探针:杀死容器,重启 readinessProbe 就绪探针,pod的状态是running ready状态是notready,容器不可以提供正常的业务访问,就绪探针不会重启容器 tcpSocket:只是监听容器上的业务端口能否正常通信&…

prometheus获取kubelet接口监控数据

一、前言 k8s集群的kubelet服务内部有自带的cadvisor服务用于收集k8s集群的监控数据,所以可以通过调用kubelet的接口就能获取pod的资源监控数据,在新版本的k8s中,kubelet的监控数据获取端口为10250端口,老版本的是10255端口 二、…

etcd v3使用示例

1.简单使用 1.1 增加 set 指定某个键的值。例如: $ etcdctl set /testdir/testkey "Hello world" Hello world 复制代码支持的选项包括: --ttl 0 该键值的超时时间(单位为秒),不配置(默认为0)则永不超时 --swap-with-value value 若该键现…

Kubelet监控指标说明

Probe路径 含义:kubelet以及kubelet监控的Pod的存活性请求路径:“/metrics/probes”指标 名称类型含义upGauge服务是否存活prober_probe_totalCounter按结果计算容器的活动探测、就绪探测或启动探测的累计数目以及存活性结果 Metrics路径 含义&#x…

Kubelet详解

这里写目录标题 Kubelet详解一.陈述式资源管理方法1.基本信息查看2.发布 kubectl expose命令3.更新 kubectl set4.回滚 kubectl rollout 二.声明式管理方法 Kubelet详解 一.陈述式资源管理方法 1.kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口…

K8S自动化运维容器化(Docker)集群程序

K8S自动化运维容器化集群程序 一、K8S概述1.什么是K8S2.为什么要用K8S3.作用及功能 二、K8S的特性1.弹性伸缩2.自我修复3.服务发现和复制均衡4.自动发布和回滚5.集中化配置管理和秘钥管理6.存储编排7.任务批量处理运行 三、K8S的集群架构1.架构2.模式3.工作4.流程图 四、K8S的核…

【[kubelet报bootstrap-kubelet.conf: no such file or directory“ 处理方法]】

kubelet报bootstrap-kubelet.conf: no such file or directory" 处理方法 1、 kubelet 启动 报 unable to load bootstrap kubeconfig: stat /etc/kubernetes/bootstrap-kubelet.conf: no such file or directory" ,原因是kubelet.conf的证书权限有问题 …

kubecolor让kubelet更好看

kubecolor让kubelet更好看 默认情况下kubectl输出都是白色,在列特别多的情况下比较难分清楚具体是哪个对应哪个. 发现kubecolor可以完美解决这样的问题. 1. 安装kubecolor mkdir kubecolor cd kubecolor wget https://github.com/kubecolor/kubecolor/releases/download/v0.…

三、Kubernetes(K8s)入门(一)

视频教程连接k8s 入门到微服务项目实战.xmind链接:https://pan.baidu.com/s/1q04euH7baE8eXNyG3kPPbA 提取码:jej4比较好的笔记 kubectl命令的语法如下: kubectl [command] [type] [name] [flags]comand:指定要对资源执行的操作…

Kubernetes(k8s) 架构原理一文详解

目录 一、k8s 概述 1.什么是k8s? 2.特性 3.主要功能 三、集群架构与组件 1.Master 组件 (1)Kube-apiserver (2)Kube-controller-manager (3)Kube-scheduler 2.配置存储中心 3.Node 组…

Docker高级——Docker Swarm集群和部署应用

创建 Swarm 集群 初始化管理节点 [rootk8s-master ~]# docker swarm init --advertise-addr 192.168.192.133 Swarm initialized: current node (vy95txqo3pglh478e4qew1h28) is now a manager.To add a worker to this swarm, run the following command:docker swarm join …

K8S:pod集群调度及相关操作

文章目录 一.pod集群调度概念1.调度约束( List-Watch组件)2.List-Watch的工作机制(1)List-Watch的工作机制流程(2)List-Watch的工作机制图示 3.调度的过程(1)调度的任务(2)调度选择p…

从虚拟机下载开始的kubeSphere安装

目录 一、虚拟机安装 二、镜像下载安装 1、镜像下载 2、虚拟机创建 3、虚拟机系统安装 三、虚拟机配置 1、IP固定 2、配置yum阿里源 3、关闭防火墙 4、 关闭selinux 5、 禁止swap交换 6、内核参数修改 7、设置kubernetes源 四、docker安装 五、虚拟机分组 六、…

k8s的service自动发现服务:实战版

Service服务发现的必要性: 对于kubernetes整个集群来说,Pod的地址也可变的,也就是说如果一个Pod因为某些原因退出了,而由于其设置了副本数replicas大于1,那么该Pod就会在集群的任意节点重新启动,这个重新启动的Pod的I…

K8s Kubelet 垃圾回收机制

前言 Kubelet 垃圾回收(Garbage Collection)是一个非常有用的功能,它负责自动清理节点上的无用镜像和容器。Kubelet 每隔 1 分钟进行一次容器清理,每隔 5 分钟进行一次镜像清理(截止到 v1.15 版本,垃圾回收间隔时间还都是在源码中固化的,不可自定义配置)。如果节点上已…

kubelet 最佳配置

这两天试着重新去理解kubelet的每一个配置,并整理出我们最有可能要配置的项作为我们上生产的要考虑的kubelet最佳配置,如下表所示。(有些flag的value待确定) author: garnett.wanggmail.com kubernetes version: 1.6.2 Kubelet…

kubelet启动失败

kubelet 启动失败 错误日志 Jun 29 16:05:19 master0 kubelet[29613]: E0629 16:05:19.744377 29613 node_container_manager_linux.go:61] "Failed to create cgroup" err"Cannot set property TasksAccounting, or unknown property." cgroupName[ku…

k8s学习(一) centos7下搭建k8s集群

一 环境准备 1 三台机器,还需要一台docker镜像服务器 master 192.168.100.89 node2 192.168.100.91 node3 192.168.100.92 registry 192.168.100.892 所有机器都关闭selinux setenforce 0 sed -i s/^SELINUXenforcing$/SELINUXpermissive/ /etc/selin…

云原生|kubernetes |kubelet服务加入系统守护进程supervisor(centos7系统下演示通过)

前言: kubelet 是 Kubernetes 集群中的一个重要组件,运行在每个节点上,负责管理该节点上的容器和Pod。它与控制平面(如 API Server 和 kube-controller-manager)通信,确保节点上的容器与期望的状态保持一致…

K8S单节点部署

最近尝试学了一下K8S,感觉还行吧!只是对于我自己的项目来说还没必要,弄个docker就不错了,集群对于小项目来说部署有点夸张。个人看了这几天发现官方的交互式教程还是挺爽的,简单了解还是可行的。我这就弄个从头到尾的单…

kubelet调整cpu绑核后不重启主机

如下所示,给kubelet指定cpu后,如果要修改,比如从0-3改为0-7,只是重启kubelet会报错,导致kubelet有问题。 cat /etc/default/kubelet KUBELET_EXTRA_ARGS"--reserved-cpus0-3 --cpu-manager-policystatic"不…

rancher踩坑日志:prometheus访问kubelet 10250端口提示鉴权失败

该原因是因为kubectl禁止了非授权用户访问10250端口来获取node的数据。 解决思路: 添加prometheus访问kubelet时带上证书进行验证匹配 --> 由于我的prometheus是rancher安装的,不知道要怎么修改所以研究了一会没研究明白就放弃了。设置prometheus访问…

【kubernetes】部署网络组件Calico与CoreDNS

前言:二进制部署kubernetes集群在企业应用中扮演着非常重要的角色。无论是集群升级,还是证书设置有效期都非常方便,也是从事云原生相关工作从入门到精通不得不迈过的坎。通过本系列文章,你将从虚拟机配置开始,到使用二进制方式从零到一搭建起安全稳定的高可用kubernetes集…

五、基于KubeAdm搭建多节点K8S集群

如需查阅上一步骤,请点击下面链接:四、戴尔R630本地服务器Linux Centos7.9系统安装docker-ce-20.10.10-3.el7版本-CSDN博客文章浏览阅读727次,点赞12次,收藏13次。1、准备工作3、Linux Centos7.9系统的iDRAC远程管理、网络设置、SecureCRT远程登录终端、企业级静态ip地址配…

kubelet源码阅读

版本:v1.23 别人的阅读笔记:https://github.com/gosoon/source-code-reading-notes app.NewKubeletCommandapp.loadConfigFile #加载配置文件app.Runapp.runapp.UnsecuredDependencies #初始化相关依赖,这些依赖是kubelet需要的,比如TLS/mo…

云安全—kubelet攻击面

0x00 前言 虽然说总结的是kubelet的攻击面,但是在总结攻击面之前还是需要去了解kubelet的基本原理,虽然说我们浅尝即止,但是还是要以能给别人讲出来为基本原则。 其他文章: 云安全—K8s APi Server 6443 攻击面云安全—K8S API Server 未授…

kubernetes之常用Pod控制器的使用

Pod控制器概述 pod的创建方式分为两类 自主式pod:直接创建出来的Pod,这种pod删除后就没有了,也不会重建控制器创建的pod:通过控制器创建的pod,这种pod删除了之后还会自动重建 Pod控制器分类 ReplicationController&…

Ubuntu 安装 kubectl、kubeadm 和 kubelet

你需要在每台机器上安装以下的软件包: kubeadm:用来初始化集群的指令。 kubelet:在集群中的每个节点上用来启动 Pod 和容器等。 kubectl:用来与集群通信的命令行工具。 kubeadm 不能帮你安装或者管理 kubelet 或 kubectl&#…

【 云原生 | K8S 】kubectl 详解

目录 1 kubectl 2 基本信息查看 2.1 查看 master 节点状态 2.2 查看命名空间 2.3 查看default命名空间的所有资源 2.4 创建命名空间app 2.5 删除命名空间app 2.6 在命名空间kube-public 创建副本控制器(deployment)来启动Pod(nginx-wl…

解决kubelet报failed to get imageFs info: non-existent label \“docker-images\“

问题: 一环境主机重启后,查看kubelet日志经常有大量无法回收镜像文件报错,会导致kubelet的pleg不健康,从而导致kubelet发生重启。报错如下: 解决办法 解决方法一: systemctl stop docker systemctl stop …

Ubuntu设置kubelet启动脚本关闭swap分区

查看swap分区 swapon -s打开swap分区 swapon -a查看/etc/fstab下所有固化的swap分区,注释 vi /etc/fstab修改kubelet.conf文件 vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf添加 ExecStartPre/sbin/swapoff -a生效 systemctl daemon-reload sys…

配置 Pod 以使用 PersistentVolume 作为存储

最近了解这个k8s在PVC存储这儿卡了两天,今天终于算是大概搞明白是个怎么回事了。 以下是该过程的总结: 创建由物理存储支持的 PersistentVolume。你不会将卷与任何 Pod 关联。 创建一个 PersistentVolumeClaim, 它将自动绑定到合适的 Persis…

【备品备件】入库流程--跨公司调拨入库

页面:CrossCompanyWarehousing.vue 后台类:SpareZtmmLldController 查询方法:crossCompanyWarehousing() SQL语句: select ZLLDDH,ZLLDLE,ZXQLE,a.WERKS,b.NAME1 werks_desc,a.UMWRK,c.NAME1 umwrk_desc,UMLGO,ZJHTBRQ,EBELN,…

【kubernetes系列】Kubernetes之Kubelet运行机制和状态更新机制

Kubelet运行机制 Kubelet是Kubernetes中的一个重要组件,在每个 Node 节点上都会启动 kubelet 服务。 该服务主要用于处理 Master 节点下发到本节点的任务,管理 Pod及Pod 中的容器。每个kubelet 进程会在 API Server 上注册节点自身信息,定期…

kubelet源码 删除pod(三)

kubelet源码 删除pod(三) 上篇中UpdatePod函数结束,然后进入managePodLoop函数。 UpdatePod负责对pod的状态流程进行更新,对pod状态的标记 managePodLoop函数主要负责就是上述标记后处理这些pod了 1.managePodLoop函数里整个都是…

K8S集群部署解决工作节点couldn‘t get current server API group list问题

最近在自己电脑上装了VMWare Player,在上面装了两个Ubuntu虚拟机,为了方便学习云原生技术,决定在上面装一个2个节点(一个控制面,一个工作节点)的K8S集群。 参考这篇文章: Ubuntu 22.04 搭建K8…

kubeadm join 集群报错 error execution phase kubelet-start 处理

前言 使用 kubeadm join 加入 k8s-node 节点报错,内容如下: error execution phase kubelet-start: error uploading crisocket: timed out waiting for the condition解决办法 1 重置此台机器的集群配置 kubeadm reset -f2 停止服务 sudo tee /tmp…

es 错误处理(this cluster currently has [3002]/[3000] maximum shards open)

问题:ES 又莫名其妙宕机了 查看 Elasticsearch 日志如下 [2022-03-22T09:00:02,430][WARN ][o.e.x.m.e.l.LocalExporter] [aibee-devops-es03] unexpected error while indexing monitoring document org.elasticsearch.xpack.monitoring.exporter.ExportExceptio…

部署promethues采集kubelet数据报错:server returned HTTP status 403 Forbidden

背景 笔者尝试部署手动部署promethues去采集kubelet的node节点数据信息时报错 笔者的promethus的配置文件和promthues的clusterrole配置如下所示: apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata:name: prometheus rules: - apiGroups: […

ubuntu-18.04.6部署kubelet的步骤及常用命令

ubuntu-18.04.6部署kubelet的步骤及常用命令 版本信息操作步骤替换apt源安装containerd 1.7.7安装runc 1.1.10安装cni 1.1.1安装kubelet 1.24.10系统配置(同步时钟,禁止swap等)重置k8s配置初化containerd配置文件创建kubelet配置文件,采用containerd重启containerd和kubelet提前…

深入剖析Kubernetes之容器技术预习篇

文章目录 初出茅庐崭露头角群雄并起尘埃落定 如果拿汽车来做比喻: Docker好比汽车引擎, Dockerfile相当于汽车蓝图, Docker image(镜像)就是汽车样板, Docker container(容器)类似于汽车的零部件, Docker Registry可以看作是4s店&…

迁移kubelet、docker和containerd工作目录

文章目录 问题背景迁移Docker停止 Docker 服务修改配置移动文件重新启动 Docker 服务 containerd停止服务修改配置移动文件重新启动服务 kubelet(遇到问题待解决)停止服务修改配置移动文件(遇到问题待解决)重新启动服务 使用的版本…

deployment.yaml文件详解

这里写目录标题 deployment/Service.yaml文件详解一.deployment二.service deployment/Service.yaml文件详解 一.deployment apiVersion: extensions/v1beta1 #接口版本 kind: Deployment #接口类型 metadata:name: cango-demo #Deployment名…

kubelet源码学习(二):kubelet创建Pod流程

本文基于Kubernetes v1.22.4版本进行源码学习 4、kubelet创建Pod流程 syncLoop()的主要逻辑是在syncLoopIteration()方法中实现,Pod创建相关代码只需要看处理configCh部分的代码 // pkg/kubelet/kubelet.go // 该方法会监听多个channel,当发现任何一个channel有数…

kubelet源码学习(一):kubelet工作原理、kubelet启动过程

本文基于Kubernetes v1.22.4版本进行源码学习 1、kubelet工作原理 1)、kubelet核心工作 kubelet的工作核心就是一个控制循环,即:SyncLoop(图中的大圆圈)。而驱动这个控制循环运行的事件,包括:P…

(二)k8s实战-深入Pod详解

一、配置文件详解 创建Pod nginx样例 apiVersion: v1 # api文档版本 kind: Pod # 资源对象类型,Pod, Deployment,StatefulSet metadata: # Pod相关的元数据,用于描述Pod的数据name: nginx-demo # Pod的名称labels: # 定义Pod的标签type: app # 自定义l…

k8s:kubectl 详解

目录 1 kubectl 2 基本信息查看 2.1 查看 master 节点状态 2.2 查看命名空间 2.3 查看default命名空间的所有资源 2.4 创建命名空间app 2.5 删除命名空间app 2.6 在命名空间kube-public 创建副本控制器(deployment)来启动Pod(nginx-wl…

kubeadm开快速的搭建一个k8s集群

kubeadm开快速的搭建一个k8s集群 二进制适合大集群,50台以上主机 kubeadm更适合中小企业的业务集群。 master节点 20.0.0.92 docker kubelet kubeadm kubectl flannel node1 20.0.0. 94 docker kubelet kubeadm kubectl flanne node2 20.0.0.03 docker kubelet…

kubelet 状态更新机制之参数配置解析

参考 https://kubernetes.io/zh-cn/docs/reference/command-line-tools-reference/kubelet/ https://kubernetes.io/zh-cn/docs/reference/command-line-tools-reference/kube-controller-manager/ https://github.com/kubernetes-sigs/kubespray/blob/master/docs/kubernete…

K8S篇之谈谈kubelet的上报机制

浅析一下Kubelet的上报机制 1 kubelet上报节点状态 在K8S集群中,由运行在每个节点的Kubelet定期上报心跳到ApiServer,由此来判断Node是否存在,若Node超过一定时间没有上报心跳,则该节点的状态就会被设置为NotReady,同…

Kubernetes 调度器及其优化

一、 Kubernetes 调度器 ​在 Kubernetes 中,调度 是指将 Pod 放置到合适的节点上,以便对应节点上的 Kubelet 能够运行这些 Pod。 ​ 1、调度概览 调度器通过 Kubernetes 的监测(Watch)机制来发现集群中新创建且尚未被调度到节…

kubectlkubeletrancherhelmkubeadm这几个命令行工具是什么关系?

背景 在最近学习k8s的过程中,发现kubectl&kubelet&rancher&helm&kubeadm这几个命令怎么在交错使用,他们究竟是什么关系?他们分别应该在什么情况下使用呢?这里我进行了简单的总结,做个区分。 各工具说…

微服务--一篇入门kubernets

Kubernetes 1. Kubernetes介绍1.1 应用部署方式演变1.2 kubernetes简介1.3 kubernetes组件1.4 kubernetes概念 2. kubernetes集群环境搭建2.1 前置知识点2.2 kubeadm 部署方式介绍2.3 安装要求2.4 最终目标2.5 准备环境2.6 系统初始化2.6.1 设置系统主机名以及 Host 文件的相互…

主机重启后k8s kubelet无法自动启动问题解决梳理

1.问题描述 OS Version:CentOS Linux release 7.9.2009 (Core) K8S Version:Kubernetes v1.20.4 K8S安装配置完成后,重启服务器发现,kubelet没有正常启动(systemctl status kubelet) 命令: systemctl status kubelet [root@centos79-3 ~]# systemctl status kubelet ●…

kubectl get -o jsonpath使用

【说明】 (1)本篇讲解kubectl get命令的输出格式化,即-o jsonpath参数的使用格式(-o jsonpath 与 -ojsonpath 与 -ojsonpath 与 --outputjsonpath 四者写法不一样,效果一样) (2)官网…

kubelet运行机制及架构分析

背景 在对kubernetes 管理的容器进行监控时涉及到了cAdvisor,而cAdvisor 又运行在kublet中,在这里记录一下kubelet 相关的介绍 简介 kubelet 是在每个 Node 节点上运行的主要 “节点代理”。它可以使用以下之一向 apiserver 注册: 主机名&…

【kubernetes】部署kubelet与kube-proxy

前言:二进制部署kubernetes集群在企业应用中扮演着非常重要的角色。无论是集群升级,还是证书设置有效期都非常方便,也是从事云原生相关工作从入门到精通不得不迈过的坎。通过本系列文章,你将从虚拟机准备开始,到使用二进制方式从零到一搭建起安全稳定的高可用kubernetes集…