Kubernetes的三种探针Kubernetes 提供了探针 Probe 对容器的健康性进行检测。实际上我们不仅仅要对容器进行健康检测,还要对容器内布置的应用进行健康性检测。 编排工具运行时,虽说 pod 挂掉会在控制器的调度下会重启,出现 pod 重启的时候,但是 pod 状态是 running ,无法真实的反应当时 pod 健康状态,我们可以通过 Kubernetes 的探针监控到pod的实时状态。Kubernetes三种探针类型启动探针 Startup Probe :用于判断容器内应用程序是否启动,如果配置了startupProbe,就会先禁止其他的探针,直到它成功为止,成功后将...

1、解决缺少libncurses.so.5库文件yum provides libncurses.so.5 yum -y install libncurses* ubuntu 解决: sudo apt install apt-file sudo apt-file update sudo apt-file find libncurses.so.5 sudo apt install libncurses5 sudo apt install libncurses*2、grant all privileges on . to 'root'@'%' identified by ‘123456‘ ...

1.Label标签(labels):附加到 k8s 对象上的键值对。用于指定对用户有意义且相关的对象的标识属性。Label是Kubernetes系列中另外一个核心概念。是一组绑定到K8s资源对象上的key/value对。同一个对象的labels属性的key必须唯一。label可以附加到各种资源对象上,如Node,Pod,Service,RC等。通过给指定的资源对象捆绑一个或多个不用的label来实现多维度的资源分组管理功能,以便于灵活,方便地进行资源分配,调度,配置,部署等管理工作。示例标签:"release" : "stable", "...

kubernetes Horizontal Pod Autoscaling自动扩缩ReplicationController、Deployment、ReplicaSet 和 StatefulSet 中的 Pod 数量度量指标可以是:CPU指标 和 自定义HPA 控制过程实现自动扩缩容的原理官方文档--horizontal-pod-autoscaler-sync-period=15s 控制器的自动检测周期。metrics-server 提供 metrics.k8s.io API 为pod资源的使用提供支持。15s/周期 -> 查询metrics.k8s.io API -> 算法...

一. DaemonSet 简介DaemonSet:服务守护进程,它的主要作用是在Kubernetes集群的所有节点中运行我们部署的守护进程,相当于在集群节点上分别部署Pod副本,如果有新节点加入集群,Daemonset会自动的在该节点上运行我们需要部署的Pod副本,相反如果有节点退出集群,Daemonset也会移除掉部署在旧节点的Pod副本。1. DaemonSet的主要特征:这个 Pod 运行在 Kubernetes 集群里的每一个节点(Node)上;每个节点上只会运行一个这样的 Pod 实例;如果新的节点加入 Kubernetes 集群后,该 Pod 会自动地在新节点上被创建出来;而...

什么是StatefulSetStatefulSet和Deployment一样,可以保证集群中运行指定个数的pod,也支持横向扩展。除此之外StatefulSet中每一个pod会分配一个内部标记用来区分。尽管StatefulSet的pod确实是从同一个pod模板创建的,但每个pod都是不可互换的。无论pod被怎样调度,它们的标记都不会改变。StatefulSet的这个特性,使得其下管理的每个pod具有不同的网络标识(可以指定发送请求到具体哪个pod,这些pod之间也可以相互通信),也可以绑定不同的持久化存储(pod重新调度之后,和它绑定的存储仍然是原先那个)。StatefulSet的一些限...

Deployment使用yaml创建Deploymentk8s deployment资源创建流程:用户通过 kubectl 创建 Deployment。Deployment 创建 ReplicaSet。ReplicaSet 创建 Pod。对象的命名方式是:子对象的名字 = 父对象名字 + 随机字符串或数字apiVersion: apps/v1 #版本号 kind: Deployment #类型 metadata: #元数据 name: #rs名称 namespace: #所属命名空间 labels: #标签 controller: deploy...

POD这里有一个.yaml 示例文件,展示了 Kubernetes Deployment 的必需字段和对象规约:apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: selector: matchLabels: app: nginx replicas: 2 # tells deployment to run 2 pods matching the template template: metadata: labels: ...

一、POD状态Pod 常见的状态Pending:挂起,我们在请求创建pod时,条件不满足,调度没有完成,没有任何一个节点能满足调度条件。已经创建了但是没有适合它运行的节点叫做挂起,这其中也包含集群为容器创建网络,或者下载镜像的过程。 Running:Pod内所有的容器都已经被创建,且至少一个容器正在处于运行状态、正在启动状态或者重启状态。 Succeeded:Pod中所以容器都执行成功后退出,并且没有处于重启的容器。 Failed:Pod中所以容器都已退出,但是至少还有一个容器退出时为失败状态。 Unknown:未知状态,所谓pod是什么状态是apiserver和运行在p...

一、什么是Taint 和 TolerationTaint 和 toleration 相互配合,可以用来避免 pod 被分配到不合适的节点上。每个节点上都可以应用一个或多个taint ,这表示对于那些不能容忍这些 taint 的 pod,是不会被该节点接的。如果将 toleration 应用于 pod上,则表示这些 pod 可以(但不要求)被调度到具有匹配 taint 的节点上可以给一个节点添加多个 taint ,也可以给一个 pod 添加多个 toleration。二、污点(Taint)I、污点 ( Taint ) 的组成使用kubectl taint命令可以给某个 Node 节点设置污...