Kubernetes简称k8s,是一个开源,用于管理云平台中多个主机上容器化的应用,k8s目标是让部署容器化的应用简单并且高效,提供了应用部署、规划、更新、维护的一种机制。
我们可以创建多个容器,k8s为每个容器实现管理,发现,访问等不需要运维人员复杂的手工配置和处理。
1.架构
一个k8s的集群包含一个master节点和多个node节点,一个节点可以看成一台物理机或虚拟机。
master负责集群管理。master协调集群的所有行为,例如运行,修改,更新等。
2.组件
Master节点包含四个组件:kube-apiserver、kube-scheduler、kube-controller-manager、etcd
kube-apiserver---用户暴露k8s API。任何资源请求和调用都是通过该API提供的接口进行的。
kube-scheduler---根据调度算法为新创建的pod选择一个Node节点,可以任意部署。
kube-controller-manager---运行管理控制器,处理常规的后台线程。
etcd---提供默认的存储系统,保存所有集群数据。
Node节点组件有三个:docker,kube-proxy,kubelet
Kubelet:是master在node节点上的Agent(代理),与master协作,管理本机运行容器的生命周期,负责pod对应的容器创建、启停等任务,实现集群管理的基本功能。
kube-proxy:通过在主机上维护网络规则并执行连接转发来实现。
Docker:运行容器。
3.基本概念
Pod:是k8s抽象出来的,表示一组一个或多个应用程序容器,以及这些容器的一些共享资源。包括共享存储,网络,端口等信息。
Pod都有自己的IP地址,同一个cluster中才能互相访问。
Namespace:k8s支持多个虚拟集群,他们底层依赖同一个物理集群。这些虚拟集群被称为命名空间。
Namespace适用于存在很多跨多个团队或项目的用户场景。多用于实现多租户的资源隔离。
Label:标签,附加到某个资源上,用于关联对象,查询和筛选。
ReplicaSet:用来确保预期的pod副本数量。
Deployment:指挥k8s如何创建和更新应用程序实例。
Service:定义了pod的逻辑集和访问pod的协议。使从属pod之间的松耦合成为可能。
标签:容器,k8s,Kubernetes,集群,pod,kube,节点 From: https://www.cnblogs.com/jjjyyylll/p/18406547