Kubernetes知识汇总,整理中
1.原理
2.Kubernetes组件
2.1 Kubernetes 主控组件(Master): kube-apiserver、kube-controller-manager和kube-scheduler
2.1.1 kube-apiserver:对外暴露了Kubernetes API。它是的 Kubernetes 前端控制层。它被设计为水平扩展,即通过部署更多实例来缩放
2.1.2 kube-controller-manager运行控制器,它们是处理集群中常规任务的后台线程。
2.1.3 kube-scheduler(调度器)监视没有分配节点的新创建的 Pod,选择一个节点供他们运行
这些控制器包括:
节点控制器: 当节点移除时,负责注意和响应。
副本控制器: 负责维护系统中每个副本控制器对象正确数量的 Pod。
端点控制器: 填充 端点(Endpoints) 对象(即连接 Services & Pods)。
服务帐户和令牌控制器: 为新的命名空间创建默认帐户和 API 访问令牌.
2.1.4 etcd 用于 Kubernetes 的后端存储。所有集群数据都存储在此处,始终为您的Kubernetes集群的etcd 数据提供备份计划
2.2 集群中的每个非master节点都运行两个进程:
2.2.1 kubelet,和master节点进行通信,监测已分配给其节点的Pod(通过apiserver或通过本地配置文件)提供如下功能:
挂载 Pod 所需要的数据卷(Volume)。
下载 Pod 的 secrets。
通过 Docker 运行(或通过 rkt)运行 Pod 的容器。
周期性的对容器生命周期进行探测。
如果需要,通过创建 镜像 Pod(Mirror Pod) 将 Pod 的状态报告回系统的其余部分。
将节点的状态报告回系统的其余部分
2.2.2 kube-proxy是一种网络代理,将Kubernetes的网络服务代理到每个节点上,通过维护主机上的网络规则并执行连接转发,实现了Kubernetes服务抽象
3.Kubernetes对象
要使用Kubernetes对象(无论是创建,修改还是删除它们),都需要使用Kubernetes API
4.deployment
5.deamonSet
6.service
service --> endpoint --> pod
6.1 定义 Service
apiVersion: v1
kind: Service
matadata:
name: string
namespace: string
labels:
- name: string
spec:
selector: []
type: string
clusterIP: string
sessionAffinity: string
ports:
- name: string
protocol: string
port: int #service端口
targetPort: int #pod端口
nodePort: int #node暴露端口
status:
loadBalancer:
ingress:
ip: string
hostname: string
6.2 vip
在 Kubernetes 集群中,每个 Node 运行一个 kube-proxy 进程。kube-proxy 负责为 Service 实现了一种 VIP(虚拟 IP)的形式,而不是 ExternalName 的形式
6.3 service三种代理模式(4层):
ipvs:
client_pod 请求到ipvs(service规则),再有ipvs调度到server_pod上面 (ipvs-1.11之后)
iptables:
client_pod 请求到iptables(service规则),再有iptables调度到server_pod上面 (iptables 1.10之前)
userspace:
client_pod 请求到iptables(service规则),在转发给kube-proxy处理,之后再有iptables调度到server_pod上面 (userspace-浪费资源)
6.4 服务发现
Kubernetes 支持2种基本的服务发现模式 —— 环境变量和 DNS
6.5 service类型
6.5.1 NodePort
6.5.2 LoadBalancer
6.5.3 ExternalName
6.5.4 clusterIP
默认是 ClusterIP 类型。Type 的取值以及行为如下: * ClusterIP:通过集群的内部 IP 暴露服务,选择该值,服务只能够在集群内部可以访问,这也是默认的 ServiceType。 * NodePort:通过每个 Node 上的 IP 和静态端口(NodePort)暴露服务
原文:https://www.cnblogs.com/orange-lsc/p/11778680.html