07 2022 档案
摘要:在默认配置下,k8s节点故障时node notready,工作负载的调度周期约为6分钟,参数概念:node-monitor-period节点控制器(node controller) 检查每个节点的间隔,默认5秒。node-monitor-grace-period节点控制器判断节点故障的时间窗口, 默
阅读全文
摘要:基于kubernetes调度框架的自定义调度器实现 kube-scheduler 是 kubernetes 的核心组件之一,主要负责整个集群资源的调度功能,根据特定的调度算法和策略,将 Pod 调度到最优的工作节点上面去,从而更加合理、更加充分的利用集群的资源,这也是我们选择使用 kubernete
阅读全文
摘要:对于一个拥有 n 个副本的 StatefulSet,Pod 被部署时是按照 {0..n-1} 的序号顺序创建的。 在第一个终端中使用 kubectl get 检查输出。这个输出最终将看起来像下面的样子。 请注意,直到 web-0 Pod 处于 Running(请参阅 Pod 阶段) 并 Ready(
阅读全文
摘要:1. 方法一container 直接sleep 2. 方法二initcontainer 里面until curl ==200;do sleep 2;done3。 普通容器放前面加 poststart until curl ==200;do sleep 2;done 或者 - pilot-agent
阅读全文
摘要:wait命令: 概念:阻塞当前进程的执行,直到指定的子进程结束后,当前线程才会继续执行。 格式:wait [进程号] 常用:wait 在shell中直接使用wait: 等待所有的子进程结束后,当前进程才继续往下走。 在函数中使用wait: 只等待函数中启动的后台子进程。 举例: #!/usr/bin
阅读全文
摘要:QoS(Quality of Service) 简介 QoS(Quality of Service) 简介 QoS(Quality of Service),大部分译为 “服务质量等级”,又译作 “服务质量保证”,是作用在 Pod 上的一个配置,当 Kubernetes 创建一个 Pod 时,它就会给
阅读全文
摘要:kube-proxy其实就是管理service的访问入口,包括集群内Pod到Service的访问和集群外访问service。 kube-proxy管理sevice的Endpoints,该service对外暴露一个Virtual IP,也成为Cluster IP, 集群内通过访问这个Cluster I
阅读全文
摘要:1. service 用来为一组相同功能的pod提供一个统一的访问入口,生成一个虚拟ip,用来负载均衡到后边的多个pod。 2、endpoints 表示后端pod节点,包含了后端pod的IP与Port, 这个不是创建完pod以后自动生成的,而是在创建service之后自动生成或是手动创建的,至于自动
阅读全文
摘要:本文档介绍可能导致 Pod 一直处于 Pending 状态的几种情形,以及如何通过排查步骤定位异常原因。请按照以下步骤依次进行排查,定位问题后恢复正确配置即可。 ## 现象描述当 Pod 一直处于 Pending 状态时,说明该 Pod 还未被调度到某个节点上,需查看 Pod 分析问题原因。例如执行
阅读全文
摘要:大部分公司都已经在使用 Kubernetes 进行容器管理和编排了,但是关于 Kubernetes 的发布策略相关的概括我们很多同学还没有一个完整的认识,下面我们对 Kubernetes 的多种发布策略从整体上做一个概括的认识。Kubernetes 中常见的发布策略主要有如下六种: 重建(recre
阅读全文
摘要:type: RollingUpdate rollingUpdate: maxSurge: 1 maxUnavailable: 0 maxSurge:滚动更新时最多可以多启动多少个podmaxUnavailable:滚动更新时最大可以删除多少个podmaxSurge和maxUnavailable可以用
阅读全文
摘要:1、依赖于K8s组件中的Etcd分布式数据库存储集群信息,任何操作都是通过apiserver来修改Etcd的,其它 组件不可以直接与Etcd通信 客户端(kubelet/scheduler/controller-manager)通过list-watch监听apiserver中资(pod/rs /rc
阅读全文
摘要:k8s节点NotReady 导致的原因有多种 可以用 kubectl describe node <节点名称> 查看node节点信息。 1. kubelet 资源没有做单独预留导致,kubelet 不可用。 哎呀,好像在这个日志里面看到了一些信息描述,首先我们先看第一句:Kubelet stoped
阅读全文
摘要:首先,kubectl 向 API Server 发出了 GET 和 POST 请求,API Server 返回了 101 Ugrade 响应,向客户端表示已切换到 SPDY 协议。 随后 API Server 使用 storage.PodStorage 和 rest.ExecRest 来提供处理器的
阅读全文
摘要:根据我的经验,大多数人(使用Helm或手动yaml)将应用程序部署到Kubernetes上,然后认为他们就可以一直稳定运行。然而并非如此,实际使用过程还是遇到了一些“陷阱”,我希望在此处列出这些“陷阱”,以帮助您了解在Kubernetes上启动应用程序之前需要注意的一些问题。 Kubernetes调
阅读全文
摘要:Pause 容器,又叫 Infra 容器,本文将探究该容器的作用与原理。 我们知道在 kubelet 的配置中有这样一个参数: KUBELET_POD_INFRA_CONTAINER pod-infra-container-image=registry.access.redhat.com/rhel7
阅读全文
摘要:1、networkpolicy networkpolicy是K8S API中标准的资源类型,是定义在一组POD资源上的控制进(Ingress)出(Egress)POD流量的规则 networkpolicy资源中重要概念: POD组:podSelector通过matchLabel或者matchExpr
阅读全文
摘要:环境准备 1、在运行 Ceph 守护进程的节点上创建一个普通用户,ceph-deploy 会在节点安装软件包,所以你创建的用户需要无密码 sudo 权限。如果使用root可以忽略。为赋予用户所有权限,把下列加入 /etc/sudoers.d/ceph echo "ceph ALL = (root)
阅读全文
摘要:之前对僵尸进程确实是一知半解,没有好好研究过。这次本着学习的目的,梳理了僵尸进程的有关知识点以及在 k8s 容器中的应用。分享给大家,希望大家也能有所了解,别像我之前那样云里雾里。 本文主要是介绍僵尸进程以及在容器中预防僵尸进程的一些方法。大概分为以下几部分: 僵尸进程的介绍 容器内为什么更容易产生
阅读全文
摘要:公司有自己的IDC,需要对所有的机器进行监控。为了采集服务器的硬件度量值,之前通过zabbix 采集相关的数据指标,这个需要提前开启服务器iDRAC的snmp服务 下面是zabbix通过snmp采集到的硬件指标 为了整合监控相关的资源,需要实现prometheus 来采集相关的服务器硬件指标,并提供
阅读全文
摘要:snmpwalk是SNMP的一个工具,它使用SNMP的GETNEXT请求查询指定OID(SNMP协议中的对象标识)入口的所有OID树信息,并显示给用户。通过snmpwalk也可以查看支持SNMP协议(可网管)的设备的一些其他信息,比如cisco交换机或路由器IP地址、内存使用率等,也可用来协助开发S
阅读全文
摘要:Kubelet 证书自动续签K8s证书一般分为两套:K8s组件(apiserver)和Etcd,假如按角色来分,证书分为管理节点和工作节点。 • 管理节点:如果是kubeadm部署则自动生成,如果是二进制部署一般由cfssl或者openssl生成。 • 工作节点:工作节点主要是指kubelet连接a
阅读全文
摘要:perf top perf top无法显示信息的,需要sudo perf top或者echo -1 > /proc/sys/kernel/perf_event_paranoid(在Ubuntu16.04,还需要echo 0 > /proc/sys/kernel/kptr_restrict)。 即可以
阅读全文
摘要:k8s1.8引入的特性,限制容器存储空间的使用;对于容器资源隔离来说,非常有用,万一应用程序失控,写大量日志把node空间写满,影响就大了。 使用很简单,和cpu\memcache一样,如: resources: requests: cpu: 1 memory: 2048Mi ephemeral-s
阅读全文
摘要:http://openresty.org/cn/ OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。 TRANSL
阅读全文
摘要:top -p `ps aux | grep "Ali" | egrep -v "grep|PID" | awk -F'[ ]+' '{print $2}'|sed ":a;N;s/\n/,/g;ta" ` 第一种方法:使用test跳转命令,实现替换换行符 N是把下一行加入到当前的hold space
阅读全文
摘要:Kubernetes的节点可以按照Capacity资源进行调度. 在默认情况下pod能够使用(Worker)节点全部可用资源容量.那么由此会带来一系列问题,因为每个Worker节点基本运行了系统程序以及Kubernetes的守护进程.除非为这些守护进程留出系统资源,否则系统资源将与pod争夺资源并导
阅读全文
摘要:kubernetes认证授权机制 Kubernetes过一系列机制来实现集群的安全机制,包括API Server的认证、授权、准入控制机制等。集群的安全性必须考虑以下的几个目标: 保证容器与其所在宿主机的隔离; 限制容器给基础设施及其他容器带来消极影响的能力; 最小权限原则,合理限制所有组件权限,确
阅读全文
摘要:使用 kubectl drain 从集群中移除节点 对节点执行维护操作之前(例如:内核升级,硬件维护等),您可以使用 kubectl drain 安全驱逐节点上面所有的 pod。安全驱逐的方式将会允许 pod 里面的容器遵循指定的 PodDisruptionBudgets 执行优雅的中止。 注: 默
阅读全文