http://www.weixuecn.cn/article/11410.html

安装部署docker

  1. 1.设置国内YUM
  2. cd /etc/yum.repos.d/
  3. wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  4. 2.安装指定的docker版本
  5. yum -y install docker-ce-18.09.7-3.el7 docker-ce-cli-18.09.7
  6. 3.设置docker使用阿里云加速
  7. mkdir /etc/docker
  8. cat > /etc/docker/daemon.json <<EOF
  9. {
  10. "registry-mirrors": ["https://ig2l319y.mirror.aliyuncs.com"],
  11. "exec-opts": ["native.cgroupdriver=systemd"]
  12. }
  13. EOF
  14. 4.启动后台进程
  15. systemctl enable docker && systemctl start docker
  16. 5.查看docker版本
  17. docker -v

k8s系统架构

  1. 从系统架构来看,k8s分为2个节点
  2. Master 控制节点 指挥官
  3. Node 工作节点 干活的
  4. Master节点组成:
  5. API Server :提供k8s API接口
  6. 主要处理Rest操作以及更新Etcd中的对象
  7. 是所有资源增删改查的唯一入口。
  8. Scheduler:资源调度器
  9. 根据etcd里的节点资源状态决定将Pod绑定到哪个Node
  10. Controller Manager
  11. 负责保障pod的健康存在
  12. 资源对象的自动化控制中心,Kubernetes集群有很多控制器。
  13. Etcd
  14. 这个是Kubernetes集群的数据库
  15. 所有持久化的状态信息存储在Etcd
  16. Node节点的组成:
  17. Docker Engine
  18. 负责节点容器的管理工作,最终创建出来的是一个Docker容器。
  19. kubelet
  20. 安装在Node上的代理服务,用来管理Pods以及容器/镜像/Volume等,实现对集群对节点的管理。
  21. kube-proxy
  22. 安装在Node上的网络代理服务,提供网络代理以及负载均衡,实现与Service通讯。

image.png
k8s逻辑架构

  1. 从逻辑架构上看,k8s分为
  2. Pod
  3. Controller
  4. Service
  5. 1.POD
  6. PODk8s的最小单位
  7. PODIP地址是随机的,删除POD会改变IP
  8. POD都有一个根容器
  9. 一个POD内可以由一个或多个容器组成
  10. 一个POD内的容器共享根容器的网络命名空间
  11. 一个POD的内的网络地址由根容器提供
  12. 2.Controller
  13. 用来管理POD
  14. 控制器的种类有很多
  15. - RC Replication Controller 控制POD有多个副本
  16. - RS ReplicaSet RC控制的升级版
  17. - Deployment 推荐使用,功能更强大,包含了RS控制器
  18. - DaemonSet 保证所有的Node上有且只有一个Pod在运行
  19. - StatefulSet 有状态的应用,为Pod提供唯一的标识,它可以保证部署和scale的顺序
  20. 3.Service
  21. NodeIP
  22. CluterIP
  23. POD IP

Kubernetes Pod

  1. Kubernetes Pod 是有生命周期的,它们可以被创建,也可以被销毁,然而一旦被销毁生命就永远结束。
  2. 通过 ReplicationController 能够动态地创建和销毁 Pod(例如,需要进行扩缩容,或者执行 滚动升级)。

Kubernetes Service

  1. Kubernetes Service 定义了这样一种抽象:
  2. 一个 Pod 的逻辑分组,一种可以访问它们的策略 —— 通常称为微服务。
  3. 一个 Service Kubernetes 中是一个 REST 对象,和 Pod 类似。

kube-proxy

  1. Kubernetes 集群中,每个 Node 运行一个 kube-proxy 进程。