Kubernetes Concepts

CNCF Cloud Native Definition

  • 容器编排 Kubernetes Helm
  • 容器引擎 Containerd Rocket
  • 容器镜像仓库 Notary TUF
  • 容器网络 CNI
  • 服务网络服务发现 CoreDNS Linkerd Envoy
  • 容器监控运维 Prometheus Fluentd Jaeger OpenTracing

Ansible 应用编排工具

因为Docker,应用变为了容器,Ansible等工具不再使用,需要容器编排工具

  • docker compose 单台编排,缺少集群编排》docker swarm
  • docker machine 迅速变成docker swarm可管理的工具
  • docker三剑客
  • MicroServices 微服务

AMP分层架构

单体应用,将程序的所有功能做到一个程序中,不利于扩展

微服务,将程序的每一个服务拆分开,导致微服务之间的调用关系变的极其复杂,调用者,被调用者

目前微服务架构都是构架在容器至上,利用容器技术的优势,迅速找到落地的实现方案

  • CI 持续集成
  • CD 持续交付 Delivery
  • CD 持续部署 Deployment

容器编排工具自身并不能提供DevOps环境,而是需要掌握了容器编排工具之后,把DevOps思想构建和落地到容器编排工具之上。

Kubernetes 2014年发布 起源于Borg go语言重新构建 1.0版本2015年7月发布

www.github.com/Kubernetes

Openshift 核心 k8s 》k8s的发行版。

特点

  • 自动装箱
  • 自我修复
  • 水平扩展
  • 服务发现和负载均衡
  • 自动发布和回滚
  • 密钥和配置管理

Kubernetes 从运维角度来讲,就是个集群

  • master/node模型
    • master :api Server ,Scheduler,Controller-Manager
    • node : kubelet,容器引擎 docker,
  • Pod ,Label,Label Selector
    • Lable:key=value
    • Lable Selector
  • Pod:
    • 自主式Pod
    • 控制器管理Pod(不同类型的Pod来运行期待运行的方式)
      • ReplicationController 早期
      • ReplicaSet 新版本副本集
      • Deployment 专门负责管理 无状态 支持二级控制器
      • StatefulSet 有状态副本集
      • DaemonSet 每一个node上运行一个副本
      • Job,Ctonjob 运行作业 HPA : HorizontalPodAutoscaler 水平自动扩展

Pod网络,service网络(虚拟,IPVS规则),Node网络 Node》service》pod

  • 同一个Pod内的多个容器间:lo
  • 各Pod之间的通信 Overlay Network叠加网络
  • Pod与Service之间的通信

Categories:

Updated: