草庐IT

k8smaster

全部标签

k8s重启Pod报错0/4 nodes are available

当您在Kubernetes中使用kubectldeletepod命令删除Pod,并在Pod的定义中指定了nodeSelector时,可能会出现“0/4nodesareavailable”的错误。这是因为Kubernetes调度程序在找不到符合nodeSelector条件的节点时,会将Pod设置为挂起状态,直到可用节点出现为止。要解决这个问题,您可以采取以下方案:1.检查nodeSelector条件是否正确请确保您在Pod定义中设置的nodeSelector条件与集群中节点的标签匹配。您可以使用kubectlgetnodes--show-labels命令查看节点的标签,并在Pod定义中使用正确的

基于kubesphere的k8s环境部署三节点的rook-ceph集群

文章目录前言链接:[基于kubesphere的k8s环境部署单点版本的rook-ceph](https://blog.csdn.net/baidu_35848778/article/details/131050918)一、rook-ceph是什么?二、开始部署2.1环境准备2.2软件包准备,计算\存储节点执行2.3下载rook-ceph文件2.4部署operator2.5创建ceph集群2.6创建工具容器,检查集群状态2.7准备dashboard的nodeport端口映射服务2.8准备prometheus的metric端口映射服务三、创建存储类3.1创建cephrbd存储类3.2创建cephf

云计算与Kubernetes(k8s)

参考链接:https://blog.csdn.net/zkkzpp258/article/details/86541362https://blog.csdn.net/Bubbler_726/article/details/85596418https://blog.csdn.net/wx_15323880413/article/details/100516698云计算与Kubernetes(k8s)目录发展经历云计算交互标准(云服务分类)公有云、私有云、混合云Kubernetes特点组件说明K8S核心架构原理(重点!!)MasterNode的组件(重点!!)WorkerNode的组件(重点!!)

云原生之深入解析K8S中Ceph的部署与功能测试

一、前言Ceph在k8s中用做共享存储还是非常方便的,Ceph是比较老牌的分布式存储系统,非常成熟并且功能也强大,支持三种模式(快存储、文件系统存储、对象存储),那么如何在k8s使用ceph呢?k8s环境的部署,请参考:云原生之深入解析K8S1.24的高可用环境部署。关于Ceph的环境部署和实战操作,请参考:云原生之深入解析分布式存储系统Ceph的环境部署和实战操作。二、CephRook简介Rook是一个开源的云原生存储编排工具,提供平台、框架和对各种存储解决方案的支持,以和云原生环境进行本地集成。Rook将存储软件转变成自我管理、自我扩展和自我修复的存储服务,通过自动化部署、启动、配置、供应

K8s结合docker部署

原生安装步骤安装必要的环境依赖与工具sudoapt-getinstall\apt-transport-https\ca-certificates\curl\gnupg\lsb-release下载证书更新curl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudogpg--dearmor-o/usr/share/keyrings/docker-archive-keyring.gpg修改相关变量echo"deb[arch=amd64signed-by=/usr/share/keyrings/docker-archive-keyring.gpg

k8s常用的命令

下面是一些常用的Kubernetes(K8s)命令,以及它们的简要说明。这些命令可以帮助您管理和操作Kubernetes集群中的资源。集群管理命令:kubectlcluster-info:显示集群的基本信息。kubectlconfiguse-context:切换到指定的上下文。kubectlgetnodes:列出集群中的节点。kubectldescribenode:显示节点的详细信息。命名空间管理命令:kubectlgetnamespaces:列出所有命名空间。kubectlcreatenamespace:创建一个命名空间。kubectldeletenamespace:删除一个命名空间及其下的

k8s之Service详解

  KubernetesSerivce是一组具有相同labelPod集合的抽象(可以简单的理解为集群内的LB),集群内外的各个服务可以通过Service进行互相通信。发现机制Service创建当用户在kubernetes集群中创建了含有label的Service之后,同时会在集群中创建出一个同名的Endpoints对象,用于存储该Service下的PodIP,最终Service和Endpoint信息都会存入ETCD。它们的关系如下图所示:Service发现每个运行在Node节点的kube-proxy通过apiservice监听ETC中的Services和Endpoints,如果感知到Servi

【K8S系列】深入解析k8s网络插件—Calico

序言做一件事并不难,难的是在于坚持。坚持一下也不难,难的是坚持到底。文章标记颜色说明:黄色:重要标题红色:用来标记结论绿色:用来标记论点蓝色:用来标记论点Kubernetes(k8s)是一个容器编排平台,允许在容器中运行应用程序和服务。今天学习一下k8s网络插件-Calico相关知识希望这篇文章能让你不仅有一定的收获,而且可以愉快的学习,如果有什么建议,都可以留言和我交流 专栏介绍这是这篇文章所在的专栏,欢迎订阅:【深入解析k8s】专栏简单介绍一下这个专栏要做的事:主要是深入解析每个知识点,帮助大家完全掌握k8s,以下是已更新的章节这是专栏介绍文章地址:【深入解析K8S专栏介绍】Kuberne

K8s暴露服务-服务发现(三种常用方式)

一、基本概念1、Kubernetes 暴露服务的方式:NodePort:后期维护困难,不支持虚拟路径LoadBlancer:需要云厂商支持,有局限性ClusterIP:只能在集群内部访问Ingress:灵活,无依赖前三种方式都是在service的维度提供的,service的作用体现在两个方面,对集群内部它不断跟踪pod变化,更新endpoint中对应的pod的对象,提供IP不断变化的pod的服务发现机制;对集群外部,它类似负载均衡器,可以在集群内外对pod进行访问。但是单独使用service暴露服务的方式,在实际生产环境中不太适应。而ingress相当于service的service,可以将外

K8S异常之Unable to update cni config err=no vaild network found in /etc/cni/net.d

一、背景问题描述我们在初始化k8s节点的时候,可能会遇到类似如下问题Unabletoupdatecniconfigerr=novaildnetworkfoundin/etc/cni/net.d,一般表示网络不通。网上很多方法经过尝试都不好使。最后出现了/opt/cni/bin/flannelpermissiondenied(无权限读取flannel文件)的异常。查看kubelet的状态systemctlstatuskubelet-l,发现具体如下图:Unabletoupdatecniconfigerr=novaildnetworkfoundin/etc/cni/net.d二、解决方法经过查看,