kubernetes_配置文件

kubernetes_docker_02

kubernetes_flask_03

实例,搭建一个flask web应用
dockfile
kubernetes_配置文件_04

kubernetes_配置文件_05

几个概念

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

kubernetes架构

master-node模式,
master上还有三个守护进程,分别是 api-server , control manager, schduler ,
node,kubelet,docker引擎

Pod, Label,Label Select 最小运行单位,是对docker的一层抽象化,一个pod里可以运行多个docker。

特征

自动装箱,自我修复,水平扩展,服务发现和负载均衡,自动发布和回滚,秘钥和配置管理(把配置文件放到一个容器上,其他容器是现在这个容器上读取到配置文件再启动服务),存储编排,批量处理执行
通过restful api 来对对象进行操作, kubectl --> restful调用,yaml配置文件
命令式和声明式:
    Kubectl run nginx ///命令
    Kubectl  create/delete +yaml
    Kubectl  apply  + yaml

基石 --资源对象
所有的资源实体都可以表示为资源对象,
资源对象通过yaml描述
通过api或者kubectl来管理对象
一旦创建对象,kubenetes系统将持续工作以确保对象存在

对象模型
kubernetes_服务发现_06

yaml文件
kubernetes_flask_07

api信息
kubernetes_服务发现_08

查看命令解释
kubernetes_负载均衡_09
kubernetes_负载均衡_10

使用yaml文件创建应用
kubernetes_服务发现_11

Pod
kubernetes_负载均衡_12

流程
kubernetes_负载均衡_13

  1. 用户通过 kubectl 进行操作,如部署新的应用
  2. api server请求,并将其存储到Etcd
  3. watcher 和controlers监测到资源状态的变化,并进行操作
  4. replicaSet watcher/controller 监测到新的app,创建新的pod达到期望的实例个数
  5. Scheduler 将新的pod分配到Kubelet
  6. kubelet 监测到 pods 并通过容器运行时部署他们
  7. kubeproxy 管理pod网络,包括服务发现,负载均衡

命令行

kubernetes_flask_14
kubernetes_负载均衡_15