目录



  • 简述
  • kubernetes
  • 特性
  • 集群
  • 分类
  • 网络



简述

DevOps,分层架构 ---> 微服务

把一个程序,拆分成几个成百个微服务,使其相互独立运行

当下把微服务和容器融合起来,使其能够快速的落地。

DevOps 在交互和部署环节的易购程度,在部署环节异常困难,而容器的出现,完全弥补了。

  • CI: 持续集成 Continues Integration

作为运维的角度,得到一个应程序,需要发布到生产,蓝绿部署,金丝雀,灰度发布

  • CD: 持续交付 Continues Delivery
  • CD: 持续部署 Continues Deployment

kubernetes

kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。

最主要的时候,有大量中国人参与开发。

特性

  • 自动化: 自动部署,自动重启,自动复制,自动伸缩/水平扩展,服务发现和负载均衡,自动发布和回滚
  • 支持秘钥和配置管理, 存储编排,批量处理任务执行
  • 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)
  • 可扩展: 模块化, 插件化, 可挂载, 可组合

集群

称为:物理机群架构是。有中心节点架构的集群 master/nodes(worker)

master上最重要的组件:

  • API Server
  • Scheduler
  • Controller-Manager

node上重要的组件,Label, Lable Selectes

  • kubelet
  • 容器引擎(最流行的docker,也可以是其他)
  • kube-proxy

允许自托管

devops和k8s什么关系 k8s与devops_Deployment

  • 在kubernetes中,最小单位是pod,逻辑的。一个pod中,可以有多个容器。
  • 在调度器中,调度的是pod。一个pod中的所有容器,只能运行在同一个node主机上。
  • 在kubernetes中,为了更好的管理pod,使用Label,是一个key:value格式的,其中key是有一个定的标准的,定义国有,在使用Label selector标签选择器来管理。

分类

Pod:

  • 自主式Pod
  • 控制管理器的Pod

Replication Controller
ReplicaSet
Deployment
StatefulSet
DaemonSet
Job, Ctonjob

网络

kubernetes中有三种网络:

  • 节点网络
  • 集群网络 service调度的网络
  • Pod网络

三类通信:

  • 同一个Pod内多个容器通信: lo
  • 各Pod之间的通信
  • Pod与Service之间的通信

devops和k8s什么关系 k8s与devops_Deployment_02