MatrixRhythm

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1、Docker技术基础

 对进程做隔离。隔离CPU和内存,限制命名空间

 Docker是分层的

 Containerd是核心组件

 Docker Client实现到Docker Engine之间通信

  主要关注:

    containers

    images

    networks

   RunC负责容器应用程序的运行

  容器里跑的程序都是前台程序,不能是后台程序

 Docker联合文件系统(Union Filesystem)-overly2

 Docker Images用来运行Docker容器

 DockerFile自动创建Docker镜像

  命令大写:

    FROM

    RUN

    WORKDIR

    COPY

    CMD

 特性:Docker对资源(cpu、memory、network、storage)细粒度划分,秒起秒开  

 

2、Docker深入理解

 镜像管理:

  Harbor镜像中心

  Docker Registry实现对容器的管理

  每个镜像都是一个tar包

 Docker容器网络模式:  

  主机模式

  网桥模式

 Docker容器跨主机模:

  VXLAN模式

 问题一:容器地址重复

  Flannel解决方案:

    中心化容器地址分配,Etcd配置存储服务

 问题二:容器地址不可达

  Flannel解决方案:

    方案一:覆盖网络,对应udp和vxlan运行模式

    方案二:主机路由,对应host-gw运行模式,局限性:必须二层网络可达、适用于小规模集群、或是专用的大二层网络环境

 Docker日志机制与监控解决方案

3、Kubernets基础

 Kubernets是用于自动部署、扩展和管理容器化应用程序的开源系统。

  Node

    Node作为集群中的工作节点,运行真正的应用程序,在Node上Kunernetes管理的最小运行单元是Pod。Node上运行着Kunernetes的Kubelet、kube-proxy服务进程,这些服务进程负责Pod的创建、启动、监控、重启、销毁、以及实现软件模式的负载均衡。

  Pode

    Pod是Kunernetes最基本的操作单元,包含一个或多个紧密相连的容器,一个Podf可以被一个容器化的环境看作应用层的“逻辑宿主机”;一个Pod中的多个容器应用通常是紧耦合的,Pod在Node上被创建、启动或者销毁;每个Pod里运行着一个特殊的被称之为Pause的容器,其他容器则为业务容器,这些业务容器共享Pause容器的网络栈和Volume挂载卷,因此他们之间通信和数据交换更为高效,在设计时我们可以充分利用这一特性将一组密切相关的服务进程放入同一个Pod中。

  Service

    一个Service可以看作一组提供相同服务的Pod的对外访问接口,Service作用于哪些Pod是通过Label Selector来定义的。如果Service要提供外网服务,需指定公共IP和NodePort,或外部负均衡器

    注解:NodePort,系统会在Kubernetes集群中的每个Node上打开一个主机的真实端口,这样,能够访问Node的客户端就能通过这个端口访问到内部的Service了。

  Deployment

    官方推荐的应用部署对象

    为了确保部署对象的数量和部署方式,Kubernetes提供了多种副本控制对象

    ReplicationController(弃用)

    ReplicaSet

    StatefulSets

    DeamonSet

    Jobs-Run to Completion

    CronJob

  其他控制对象

    StorageClass,PersistentVolume,PersistentVolumeClain:加载存储卷到容器中

    ConfigMap:注入配置的键值对

    Secret:存储访问受限的键值对,比如镜像仓库拉取密码

  NameSpace

    一套物理集群可以支持多套虚拟集群环境,集成RBAC

  K8S基础组件

4、Kubernetes深入理解

posted on 2019-08-01 09:11  Matrix锅锅  阅读(289)  评论(0编辑  收藏  举报