CentOS 7.5使用yum安装Kubernetes集群(二)

  

一、安装方式介绍

  

1,百胜安装

  

目前CentOS官方已经把Kubernetes源放入到自己的默认额外仓库里面,使用yum安装,好处是简单,坏处也很明显,需要官方更新百胜源才能获得最新版本的软件,而所有软件的依赖又不能自己指定,尤其是你的操作系统版本如果低的话,使用yum源安装的Kubernetes的版本也会受到限制,通常会低于官方很多版本,我安装的时候目前官方版本为1.12 <代码> 1.5.2>   

2,二进制安装

  

使用二进制文件安装,好处是可以安装任意版本的Kubernetes,坏处是配置比较复杂,很多软件包因为一些原因,我们在大陆是访问不到的。
请查看博文:https://blog.51cto.com/wzlinux/2322345

  

3, Kubeadm安装

  

kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。

  

1.4版本对于Linux主要发行版Ubuntu主客关系的本和Red Hat centos7的用户,可以使用熟悉的apt-get和百胜来直接安装Kubernetes。再比如,1.4版本引入了kubeadm命令,将集群启动简化为两条命令,不需要再使用复杂的kube-up脚本。

  

Kubernetes的官方文档更新的速度太快了,我们注意到在Kubernetes 1.9的文档使用kubeadm创建一个集群中已经给出了目前1.9的kubeadm的主要特性已经处于β状态了,在2018年将进入GA状态,说明kubeadm离可以在生产环境中使用的距离越来越近了,这也是我们以后注意使用的安装方式,但是为了了解其中的安装过程,我们先从其他两种安装方式入手。
请查看博文:https://blog.51cto.com/wzlinux/2322616

  

这里我们选用第一种方式安装。

  

二,主要组件说明

  

1,主组件

  

主组件提供集群的管理控制中心。

  

主组件可以在集群中任何节点上运行。但是为了简单起见,通常在一台虚拟机/机器上启动所有主组件,并且不会在此VM/机器上运行用户容器

  
      <李>   

    <强> kube-apiserver
    kube-apiserver用于暴露Kubernetes API。任何的资源请求/调用操作都是通过kube-apiserver提供的接口进行。

      李   <李>   

    <强> etcd
    etcd是Kubernetes提供默认的存储系统,保存所有集群数据,使用时需要为etcd数据提供备份计划。

      李   <李>   

    <强> kube-controller-manager
    kube-controller-manager运行管理控制器,它们是集群中处理常规任务的后台线程。逻辑上,每个控制器是一个单独的进程,但为了降低复杂性,它们都被编译成单个二进制文件,并在单个进程中运行。

      李   <李> <>强kube-scheduler
    kube-scheduler监视新创建没有分配到节点的豆荚,为吊舱选择一个节点。   
  

2、节点组件

  
      <李>   

    <强> kubelet
    kubelet是主要的节点代理,它会监视已分配给节点的豆荚,具体功能:

      
        <李>安装舱所需的体积。   <李>下载舱的秘密。   <李>荚中运行的码头工人(或实验,rkt)容器。   <李>定期执行容器健康检查。   <李>报告状态的吊舱系统的其余部分,通过创建一个镜子在必要时仓。   <李>报告节点的状态回到系统的其余部分。   
      李   <李>   

    <强> kube-proxy
    kube-proxy通过在主机上维护网络规则并执行连接转发来实现Kubernetes服务抽象。

      李   <李>   

    <强>码头工人
    码头工人用于运行容器。

      李   <李> <>强法兰绒
    法兰绒是CoreOS团队针对Kubernetes设计的一个覆盖网络(覆盖网络)工具,需要另外下载部署。我们知道当我们启动码头工人后会有一个用于和容器进行交互的IP地址,如果不去管理的话可能这个IP地址在各个机器上是一样的,并且仅限于在本机上进行通信,无法访问到其他机器上的码头工人容器.Flannel的目的就是为集群中的所有节点重新规划IP地址的使用规则,从而使得不同节点上的容器能够获得同属一个内网且不重复的IP地址,并让属于不同节点上的容器能够直接通过内网IP通信。   
  

三、环境准备

  

1,节点准备

           知识产权   角色   主要组件               172.18.8.200   师父:kubernetes-master   kube-apiserver、kube-apiserver kube-controller-manager、kube-scheduler kubelet etcd         172.18.8.201   node01: kubernetes-node   码头工人、kubelet kube-proxy,法兰绒         172.18.8.202   node02: kubernetes-node   码头工人、kubelet kube-proxy,法兰绒            

CentOS 7.5使用yum安装Kubernetes集群(二)