草庐IT

K8S面试题总结

1、kubenetes针对pod资源对象的健康监测机制?        答:提供了三类probe(探针)来执行对pod的健康监测:1)livenessProbe(存活探针):可以根据用户自定义规则来判定pod是否健康,用于判断容器是否处于Running状态,如果不是,kubelet就会杀掉该容器,并根据重启策略做相应的处理。如果容器不包含该探针,那么kubelet就会默认返回值都是success;2)ReadinessProbe(就绪探针):同样是可以根据用户自定义规则来判断pod是否健康,容器服务是否可用(Ready),如果探测失败,控制器会将此pod从对应service的endpoint列

k8s ImagePullBackOff的原因

kubernetes如果遇到ImagePullBackOff该如何排查呢?状态$kubectlgetpodsNAMEREADYSTATUSRESTARTSAGEsentry-web0/1ImagePullBackOff04m55sImagePullBackOff代表拉取镜像时被阻塞,最常见的原因是镜像不存在。原因使用kubectldescribepodsentry-web查看启动细节:$kubectldescribepodsentry-webName:sentry-webNamespace:default...省略Events:TypeReasonAgeFromMessage---------

Ubuntu22.04部署K8S1.27.2版本集群

一、设置主机名并在hosts文件中添加条目1、登录节点使用hostnamectl命令设置hostname#在master中:     172.18.10.11$sudohostnamectlset-hostname"k8s-master"#在work1节点中: 172.18.10.12$sudohostnamectlset-hostname"k8s-worker1"#在work2节点中: 172.18.10.13$sudohostnamectlset-hostname"k8s-worker2"$execbash 2、在每个节点上的/etc/hosts文件中添加以下内容sudovi/etc/ho

把k8s容器里的文件复制到本地

要将Kubernetes(K8s)容器中的内容复制到本地,可以使用`kubectlcp`命令。以下是复制容器内容到本地的示例:1.确定Pod和容器名称:首先,需要确定包含要复制内容的Pod名称和容器名称。您可以使用以下命令列出集群中的Pod:  kubectlgetpods  找到包含要复制内容的适当Pod,记下Pod名称和容器名称。2.复制容器内容:通过Pod和容器名称,可以使用`kubectlcp`命令将容器内容复制到本地。命令的格式如下:kubectlcp/:  将``替换为适当的命名空间,``替换为实际的Pod名称,``替换为容器内要复制的内容的路径,``替换为您本地机器上的目标文件夹

k8s删除node节点的方法

1.查看集群的节点[root@k8s-master~]#kubectlgetnodesNAMESTATUSROLESAGEVERSIONk8s-masterReadycontrol-plane,master66mv1.23.8k8s-node1Readynone>61mv1.23.8k8s-node2Readynone>61mv1.23.8[root@k8s-master~]#2.删除node2节点2.1驱逐node2节点上的pod#k8s-node2是node2的hostname[root@k8s-master~]#kubectldraink8s-node2--delete-local-da

k8s 持久化存储

我们继续来查看k8s的卷,上一次我们分享了将磁盘挂载到容器中,empyDir和gitRepo都是会随着pod的启动而创建,随着pod的删除而销毁那么我们或许会有这样的需求,期望在pod上面读取节点的文件或者使用节点的文件系统来访问节点的设备这个时候,我们就可以让hostPath出马了hostPath咱们来看图说话hostPath卷会指向节点文件系统上的特定文件或者目录,我们同时在一个节点上运行并在hostPath卷中使用相同的路径的pod,就可以看到相同的文件了使用hostPath卷的时候,哪怕我们删除pod,hostPath卷的内容也不会被删除,若现在启动了一个pod,也会发现之前被删除po

【华为云CCE】 k8s部署nacos集群

业务场景:    华为CCE,根据自己的nacos镜像,部署nacos集群。由于公司使用的是华为云CCE内网环境,不能通过外网下载镜像,只能根据公司自己的镜像进行部署。看了网上华为云CCE部署nacos集群,都是通过官方的k8s-nacos,使用helm进行部署。这个方式不太适合公司的业务场景,公司还是希望通过CCE页面进行容器部署,经过一段时间的研究,终于实现。话不多说,上过程前期准备1、购买CCE资源,加3台节点,这里不多说2、本地下载nacos镜像3、登录华为云CCE,镜像仓库》 组织管理》 创建组织,我组织名称bukesu4、上传镜像,在我的镜像出选择客户端上传,如下:5、修改镜像名称

【华为云CCE】 k8s部署nacos集群

业务场景:    华为CCE,根据自己的nacos镜像,部署nacos集群。由于公司使用的是华为云CCE内网环境,不能通过外网下载镜像,只能根据公司自己的镜像进行部署。看了网上华为云CCE部署nacos集群,都是通过官方的k8s-nacos,使用helm进行部署。这个方式不太适合公司的业务场景,公司还是希望通过CCE页面进行容器部署,经过一段时间的研究,终于实现。话不多说,上过程前期准备1、购买CCE资源,加3台节点,这里不多说2、本地下载nacos镜像3、登录华为云CCE,镜像仓库》 组织管理》 创建组织,我组织名称bukesu4、上传镜像,在我的镜像出选择客户端上传,如下:5、修改镜像名称

K8s Pod 无法启动!5个常见问题总结

为了避免业务停机,你需要不断完善你的排障技能,定期对整个Kubernetes集群进行调试和故障排除对运维服务稳定至关重要。故障排除包括识别、诊断和解决Kubernetes集群、节点、Pod、容器和其他资源中的各类问题。由于Kubernetes是一个复杂的系统,因此解决问题可能具有挑战性。问题可能发生在单个容器、一个或多个pod、control、controlplane组件或这些组件的组合中。这使得即使在小型本地Kubernetes集群中诊断和修复错误也具有挑战性。如果在大规模生产设置中能见度有限且移动部件众多,问题就会变得更糟。幸运的是,有解决这些问题的成功方法。本文探讨了最常见的Kubern

Kubernetes Pod报错 filed to get sandbox image “k8s.gcr.io/pause:3.6“

    最近工作中在部署Pod后发现无法正常启动,查看Pod详情后看到以下报错信息:Failedtocreatepodsandbox:rpcerror:code=Unknowndesc=failedtogetsandboximage"k8s.gcr.io/pause:3.6":failedtopullimage"k8s.gcr.io/pause:3.6":failedtopullandunpackimage"k8s.gcr.io/pause:3.6":failedtoresolvereference"k8s.gcr.io/pause:3.6":failedtodorequest:Head"ht