草庐IT

k8s-pod

k8s-pod学习0.pod概念1)Pod:Pod是一个容器组,是k8s中最小的可部署的单元。一个Pod其中包含了最少一个应用程序容器,存储资源,一个唯一的网络IP地址,以及一些确定容器该如何运行的配置。一般一个Pod里面运行一个容器即可,k8s通过Pod来管理容器。如果一个Pod里面要运行几个容器,那么要注意容器与容器之间一定是紧耦合的。1.pod配置文件1)先创建一个yaml文件用来写配置,这里用配置nginx来举例。#Step1先创建一个nginx-demo.yaml文件touchnginx-demo.yaml#Step2向nginx-demo.yamal文件中写入配置apiVersio

2021-03-29 cocoapods版本降级&使用bundle管理多版本cocoapods&一键删除本地所有版本的pod

一、安装指定版本cocoapods安装指定版本sudogeminstall-n/usr/local/bincocoapods--version1.9.3gemsources--removeURL_HERE,gemsources-lgemsources--removehttps://rubygems.org/gemsources-ahttps://gems.ruby-china.com/sudogeminstallcocoapods删除其他不要的版本有更加简单的方法:gemlist--local|grepcocoapods|awk'{print$1}'|xargssudogemuninstall

K8S集群中Node节点资源不足导致Pod无法运行的故障排查思路

K8S集群中Node节点资源不足导致Pod无法运行的故障排查思路Node节点资源不足可能会产生的故障故障一:Pod数量太多超出物理节点的限制每一台Node节点中默认限制最多运行110个Pod资源,当一个应用程序有成百上千的Pod资源时,如果不扩容Node节点或者修改最大Pod数量限制,那么就会导致部分Pod资源无法正常运行,因为节点已经没有资源可以被调度了。解决思路就是扩容Node节点数量或者修改Pod的数量限制故障二:Pod配置的资源限额超出物理节点的最大使用率由于Node节点资源有限,当Pod设置的资源配额超出了Node节点所承受的极限,那么Pod将无法部署和运行,会报错没有合适的Node

解决kubernetes中微服务pod之间调用失败报错connection refused的问题

现象: 从这里可以看到是当前服务在调用productservice服务是出现了连接拒绝connectionrefused走读一下原始代码:可以看到请求是由FeignClient代理发出的 ,但问题在于为什么Feign请求的时候会产生connectionrefused错误?上面的日志又没有给出详细信息。我们需要看到feign请求网址的完整信息。解决办法:新建一个配置类importfeign.Logger;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Co

kubernetes教程 --Pod详解

Pod详解每个Pod中都可以包含一个或者多个容器,这些容器可以分为两类:用户程序所在的容器,数量可多可少Pause容器,这是每个Pod都会有的一个根容器,它的作用有两个:可以以它为依据,评估整个Pod的健康状态可以在根容器上设置Ip地址,其它容器都此Ip(PodIP),以实现Pod内部的网路通信这里是Pod内部的通讯,Pod的之间的通讯采用虚拟二层网络技术来实现,我们当前环境用的是Flannelpod定义apiVersion:v1#必选,版本号,例如v1kind:Pod #必选,资源类型,例如Podmetadata: #必选,元数据name:string#必选,Pod名称namespace:s

【kubernetes系列】Kubernetes之自动扩容Horizontal Pod Autoscaling(HPA)

k8s中的自动扩容HorizontalPodAutoscaling(HPA)分布式系统要能够根据当前负载的变化情况自动触发水平扩展或缩容的行为,因为这一过程可能是频繁发生的、不可预料的,所以手动控制的方式是不现实的。HPA全称是HorizontalPodAutoscaler,翻译成中文是POD水平自动伸缩,以下都会用HPA代替HorizontalPodAutoscaler,HPA可以基于CPU利用率、内存利用率对replicationcontroller、deployment和replicaset中的pod数量进行自动扩缩容(除了CPU利用率也可以基于其他应程序提供的度量指标custommet

k8s之Pod常用命令详解、镜像拉取策略(imagePullPolicy)

常用命令kubectlapi-resources#查询可操作的资源对象列表kubectlgetpod#查看默认命名空间下所有podkubectldescribepodpodname#获取默认命名空间下POD详情#如果要查看制定命名空间则使用-nnsnamekubectlgetpod-nnskubectldescribepodpodname-nns#以YAML格式提供比kubectldescribepod更加详细的信息,即系统拥有的关于Pod的所有信息kubectlgetpodpodname-oyaml#查看Pod对应的labelskubectlgetpod--show-labels#deplo

k8s之挂载NFS到POD中

写在前面在k8s之挂载本地磁盘到POD中一文中我们看了如何将POD中的数据写到本地磁盘中,这种方式要求POD只能在指定的Node上,一旦POD更换Node,数据依然会丢失,所以本文看下如何通过将数据写到NFS中来解决这个问题。下面我们就开始吧!1:NFS1.1:什么是NFSNFS全称networkfilesystem,是一种允许我们像使用本地磁盘一样,使用远端某机器的磁盘的一种技术,采用cs架构,所以其本质上可以看做是一种数据存储解决方案。1.2:安装server1.2.1:安装服务器sudoapt-yinstallnfs-kernel-server1.2.2:创建服务器写文件目录mkdir-

Kubernetes(K8s)Pod控制器详解-06

Pod控制器详解Pod控制器介绍Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类:自主式pod:kubernetes直接创建出来的Pod,这种pod删除后就没有了,也不会重建控制器创建的pod:kubernetes通过控制器创建的pod,这种pod删除了之后还会自动重建什么是Pod控制器Pod控制器是管理pod的中间层,使用Pod控制器之后,只需要告诉Pod控制器,想要多少个什么样的Pod就可以了,它会创建出满足条件的Pod并确保每一个Pod资源处于用户期望的目标状态。如果Pod资源在运行中出现故障,它会基于指定策略重新编排Pod。在k

【故障排查】dig通过coredns的svc IP,解析pod的fqdn出现connection timed out; no servers could be reached

环境信息:#另一个环境master1、master2、node1、node2k8s1.22、docker、calico、node2上有kuboard问题描述:dig通过coredns的svcIP,解析pod的fqdn出现connectiontimedout;noserverscouldbereached最终处理方法:删掉node2上的kuboard创建的网络。正常的状态:node2也有去往calico的路由信息了造成“故障”的操作为:至于为啥会故障/冲突,似懂非懂。(在创建了docker网络的情况下。容器不会走docker0的?!),node2有两个bridge排查方法(***):总结下排查方