K8S——daemonset 控制器 、service 服务、ingress

、daemonset 在每一个硬件node 节点运行一个 pod,当节点从集群移除时,pod 也会被回收。

副本数量由硬件节点决定,由几个节点就有几个 pod,删除pod后还是会重建。

直接管理 pod,只有两级

K8S——daemonset 控制器 、service 服务、ingress_第1张图片

 K8S——daemonset 控制器 、service 服务、ingress_第2张图片

kubectl  apply  -f  mynginx.yaml

kubectl  get  pods -o wide

影响pod调度策略:

(1)nodename:调度到指定pod,无视污点。

(2)nodeselector:节点选择器,调度到匹配标签的node节点,但会受到污点的影响。

(3)resources:资源限制

(4)污点容忍度

(5)污点策略(只对pod生效)—黑名单

NoSchedule——不调度——不吃鸡蛋,宁愿饿着

preferNoSchedule——尽量不调度——尽量不吃鸡蛋

Noexecute——驱逐——这鸡蛋不能吃,吃了就得死

设置策略的时候,必须是键值对+策略的形式

污点标签可以理解为黑名单(标签调度为白名单,注意黑白名单的相互影响),对已经做好在运行的容器不生效。

要使其生效,需要删除旧的容器重新运行,也就是部署前生效。(驱逐策略除外,任何时候有效)

设置策略
kubctl  taint  node node-0001  key=value:NoSchedule  (比如 k1=v1,键值)

kuebctl delete -f  nginx.yaml

kubectl apply -f nginx.yaml

kubectl get pods -o wide

删除策略
kubctl  taint  node node-0001  key-

查看策略
kubectl  describe  nodes | grep -P  "^Taints"

job 控制器—管理有限生命周期的 pod,单任务控制器,不需要标签

K8S——daemonset 控制器 、service 服务、ingress_第3张图片


Cronjob —计划任务控制器,三级控制

K8S——daemonset 控制器 、service 服务、ingress_第4张图片


Service—用户访问这个服务,当pod坏了的时候,自动跟踪新建的pod,跟踪容器的标签;负载均衡

K8S——daemonset 控制器 、service 服务、ingress_第5张图片

 K8S——daemonset 控制器 、service 服务、ingress_第6张图片

K8S——daemonset 控制器 、service 服务、ingress_第7张图片

K8S——daemonset 控制器 、service 服务、ingress_第8张图片

ingress:提供暴露应用的入口的方法,可以实现七层服务(service是四层服务)

ingress controller:根据 ingress 生成具体的路由规划,对 pod 实现负载均衡

你可能感兴趣的:(kubernetes,容器,云原生)