随笔分类 - 云原生
摘要:背景 informer是k8s client-go包里的一个模块,客户端可以通过它来感知事件的变化,而不用直接和apiserver交互,这样减轻了apiserver的负担。 组件介绍 它由以下几个组件组成: Reflector: 它会采用list/watch的方式获取资源事件,并把它们写入到fifo
阅读全文
摘要:1. 为什么需要service Pod是非永久性资源,会动态创建和销毁,pod的ip会变化,而service会动态感知pod的变化,而对调用方无感知,调用方只需要访问固定的service name就可以动态地访问后端的pod。 实现这个功能不单只靠service这个组件,还需要kube-dns、en
阅读全文
摘要:前言 先上结论: liveness探针检测失败后,pod会被终止或重启(依据重启策略),而readiness探针检测失败后,pod不会终止,但ready状态为0 测试 liveness 清单文件 liveness-exec-pod.yaml : apiVersion: v1 kind: Pod me
阅读全文
摘要:前言 在服务网格出现之前,服务的治理都是由微服务框架自己来解决的,比如spring cloud、dubbo,而服务网格的设计思想是应用只负责自己的业务逻辑,把服务治理下沉到服务网格来处理,这样做的好处就是服务治理不再受限于框架本身了,比如spring clound的服务和python的http服务就
阅读全文
摘要:前言 在介绍k8s的网络通信机制前,先介绍一下docker的网络通信机制,不同节点pod间网络通信,在docker里是这样访问的 即: Container1 snat-> 节点A (docker0网桥) → 节点B(docker0网桥) →dnat → pod2 这样的访问方式会产生很大的系统开销,
阅读全文
摘要:前言 以前有通过kubeadm的方式安装过k8s,需要先安装kubelet、doce-ce,然后要准备一堆镜像,令人头疼的是这些镜像需要FQ才可以访问,因此对于初学者来说很不友好,现在推荐一种kind的安装方式,kind全称kubernetes in docker,顾名思义就是把k8s所有的组件部署
阅读全文
摘要:k8s节点介绍 分为master节点和node节点,master节点负责整个集群的调度,node节点负责应用容器的运行。 k8s组件介绍 kubectl kubectl 是一个客户端的管理工具,它会监听apiserver,比如有创建pod的事件时,会执行pod创建的相关操作,也会执行探针检测。 ku
阅读全文