Kubernetes Add-ons (附件)
负责扩展Kubernetes集群的功能的应用程序,通常以Pod形式托管运行于Kubernetes集群之上
分必选附件和可选附件
Cluster DNS:集群DNS服务器(SRV) --必选附件
负责DNS解析 将service name 和 service ip的解析
负责服务注册、发现
当下的实现是CoreDNS (service功能的第二个)
- 第1代 SkyDNS
- 第2代 KubeDNS
- 第3代 CoreDNS 真正意义上k8s原生的
Service的关键组成
- service name:
- 定义格式: service.namespace.svc.domain_name 字符串格式(FQDN)
- service ip(也叫cluster ip)
Network Plugin:网络插件(CNI的实现) --必选附件
- 经由CNI接口,负责为Pod提供专用的通信网络,有多种实现
-
Flannel --CoreOS研发的
-
Project --Calico研发的
-
可选附件
- Ingress Controller:
- Ingress控制器,负责为Ingress资源提供具体的实现,实现http/https协议的七层路由和流量调度,
- 有多种实现,例如Ingress-Nginx、Contour等
日志中心 --关键组件
EFK stack
监控指标中心 --关键组件
Prometheus + Grafna
链路追踪(DT distribute tracing) --关键组件
opentracing zipkin skywalking 微服务场景下必备
UI Dashboard:基于Web的UI --关键组件
- kuboard
- ranger
服务网格 Istio --关键组件
- 让k8s支持云原生 服务网格功能
Servless Platform: knative --关键组件
ArgoCD/Rollouts --关键组件
- 流量质量 发布
配置管理
- config map 、secrets
服务发现
- Kubernets Service
- Ingerss Resources
服务发布
- Kubernets Service
- Ingerss Resources
负载均衡
- Kubernets Service
韧性 容错能力
- Kubernets health check
- resource isolation 资源隔离
自动伸缩 自愈能力
- Kubernets health check
- self healing 自愈
- 如果删除pod 会自动创建出来
- autoscaling
kubernets 是什么? (声名式API)
- Platform for Platform 本身就是一个平台, 他的功能是去构建其他的平台
- 底层化能力
- 可以纳管底层基础设施类的服务
- kubernets 可以将Kafka的功能 封装成API 对外暴露服务
- 容器的编排功能
- 服务网格平台的底层设施
展开讲 软件系统组成部分
- OS + 硬件
- 基础设施类服务
- 中间件服务, 支持业务组件协同的服务 go/c/c++ 开发的
- Kafka、mysql、redis
- 业务软件、业务应用 java/python程序
- 自己开发的软件 应用