Kubernetes

资源管理平台历史

Apache Mesos UC伯克利大学推出的资源管理平台。老一辈的框架,目前使用的企业已经不多。abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual), enabling fault-tolerant and elastic distributed systems to easily be built and run effectively.

Docker Swarm Docker官方推出的资源管理平台。功能比较少,市场占有率很少。

Kubernetes Google推出的资源管理平台。同时Go语言开发,是Google内部的Borg系统的开源版。容器管家。Kubernetes (k8s) is an open-source system for automating deployment, scaling, and management of containerized applications.

Kubernets介绍

http://kubernetes.io/ https://github.com/kubernetes/kubernetes https://github.com/feiskyer/kubernetes-handbook

优势特点

Kubernetes和docker是什么关系? Kubernetes是Google的一个开源容器管理项目,他能利用Docker/其他技术部署/管理容器集群。

Kubernetes和Yarn的区别? Kubernetes和Yarn的在应用层面最大区别是前者主要负责long running service 任务,后者则是跑一些batch jobs。

概念

Master (Scheduler, API Server, Replication controller)

Node (kubelet, kube-proxy, Pod(Container)): 是Pod运行的宿主机,包含一个agent进程,维护和管理该Node下所有容器的创建和启停。

Pod : Kubernetes有一个好的地方就是它把多个容器抽象成了Pod,方便用户管理。

kubelet 跟容器引擎交互,管理容器的生命周期

kube-proxy: 写入规则到iptables实现服务映射

通讯模式: 所有Pod都在一个可以直接连通的网络空间里。 Flannel提供跨物理机的容器间扁平 通信。

资源清单 yam

etcd 存储

pod资源分配规格

pod内资源利用率是如何计算的?

虚拟环境的资源限制是如何实现的?

配置Pod的liveness和readiness探针

Kubelet使用liveness probe(存活探针)来确定何时重启容器。 Kubelet使用readiness probe(就绪探针)来确定容器是否已经就绪可以接受流量。

Kubelet 可以选择是否执行在容器上运行的两种探针执行和做出反应:

参考

Kubernetes中的Pod的到底是什么?

*****
Written by Lu.dev on 15 May 2021