渡人自渡 发表于 2018-9-16 07:56:44

基于CentOS7.2安装Kubernetes-v1.2-BB保你大

  摘要
  使用swarm构建docker集群之后我们发现面临很多问题 swarm虽好但是还处于发展阶段功能上有所不足 我们使用kubernetes来解决这个问题
kubernetes 与swarm 比较
  优点

[*]  复制集与健康维护
[*]  服务自发现与负载均衡
[*]  灰度升级
[*]  垃圾回收 自动回收失效镜像与容器
[*]  与容器引擎解耦 不仅仅支持docker容器
[*]  用户认证与资源隔离
  缺点
  大而全意味着 复杂度较高 从部署到使用都比swarm 复杂的多 相对而已swarm比较轻量级 而且跟docker引擎配合的更好 从精神上我是更支持swarm 奈何现在功能太欠缺 几天前发布了一个 SwarmKit的管理功能 功能多了不少 待其完善以后可以重回swarm的怀抱

  K8s 核心概念简介
  pod
  k8s 中创建的最小部署单元就是pod 而容器是运行在pod里面的 pod可以运行多个容器 pod内的容器可以共享网络和存储相互访问


  replication controller
  复制及控制器:对多个pod创建相同的副本运行在不同节点 一般不会创建单独的pod而是与rc配合创建 rc控制并管理pod的生命周期维护pod的健康
  service
  每个容器重新运行后的ip地址都不是固定的 所以要有一个服务方向和负载均衡来处理 service就可以实现这个需求 service创建后可以暴露一个固定的端口 与相应的pod 进行绑定
K8s 核心组件简介


  apiserver
  提供对外的REST API服务 运行在 master节点 对指令进行验证后 修改etcd的存储数据
  shcheduler
  调度器运行在master节点,通过apiserver定时监控数据变化 运行pod时通过自身调度算法选出可运行的节点
  controller-manager
  控制管理器运行在master节点 分别几大管理器定时运行 分别为
  1)replication controller 管理器 管理并保存所有的rc的的状态
  2 )service Endpoint 管理器 对service 绑定的pod 进行实时更新操作 对状态失败的pod进行解绑
  3)Node controller 管理器 定时对集群的节点健康检查与监控
  4)资源配额管理器 追踪集群资源使用情况
  kuctrl (子节点)
  管理维护当前子节点的所有容器 如同步创建新容器 回收镜像垃圾等
  kube-proxy (子节点)
  对客户端请求进行负载均衡并分配到service后端的pod 是service的具体实现保证了ip的动态变化 proxy 通过修改iptable 实现路由转发

  工作流程
  
k8s 安装过程:
  一、主机规划表:
IP地址角色安装软件包启动服务及顺序192.168.20.60k8s-master兼minionkubernetes-v1.2.4、etcd-v2.3.2、flannel-v0.5.5、docker-v1.11.2  etcd
  flannel
  docker
  kube-apiserver
  kube-controller-manager
  kube-scheduler
  kubelet
  kube-proxy
192.168.20.61k8s-minion1kubernetes-v1.2.4、etcd-v2.3.2、flannel-v0.5.5、docker-v1.11.2  etcd
  flannel
  docker
  kubelet
  kube-proxy
192.168.20.62k8s-minion2kubernetes-v1.2.4、etcd-v2.3.2、flannel-v0.5.5、docker-v1.11.2  etcd
  flannel
  docker
  kubelet
  kube-proxy
  二、环境准备:
  系统环境: CentOS-7.2
  #yum update
  #关闭firewalld,安装iptables
  systemctl stop firewalld.service
  systemctl disable firewalld.service
  yum -y install iptables-services
  systemctl restart iptables.service
  systemctl enable iptables.service
  #关闭selinux
  sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
  setenforce 0
  #添加repo
  #tee /etc/yum.repos.d/docker.repo
页: [1]
查看完整版本: 基于CentOS7.2安装Kubernetes-v1.2-BB保你大