k8s是一种分布式集群管理工具,它自身也是分布式的,和zookeeper一样,master/slave模式,一个master节点,是集群的大脑,其他是node节点,受master分配工作。

和zookeeper不同的是k8s专门设计用于docker容器集群的管理,docker的安装部署十分简单,其中主要要提醒的就是yum源的设置,这也为以后学习提供方便,我们都知道,外网是非常慢的,所以设置yum源:
阿里云
$ sudo yum-config-manager
–add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 好了,下面主要介绍k8s的安装部署过程中遇到的问题。

yum在、etc/yum.repos.d/文件夹下有一些文件,如下:

k8s能不能安装hadoop k8s安装方式对比_k8s能不能安装hadoop


下载软件前可以提前配置源:

#vim /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

#kubernetes(k8s)的安装方法

五种方法:
kubernetes 二进制安装 (配置最繁琐,不亚于安装openstack)
kubeadm 安装 (谷歌推出的自动化安装工具,网络有要求)
minikube 安装 (仅仅用来体验k8s)
yum 安装 (最简单,这里采用此种方法,打怪要从简单的开始,一开始就打打怪,会被秒到怀疑人生的,所以咱先来简单的)
go编译安装 (最难)

既然kubernetes是集群工作模式,那就要分别安装其master和node节点

先安装master节点

使用yum安装etcd和kubernetes-master
etcd:简单来说,就认为它是集群的数据库吧,而这个kubernetes-master则是个工具,可以帮组我们安装master节点kubernetes所需的众多组件,免得一一下载安装,而且最头疼的是版本冲突,具体来说,它可以帮我们安装kontroller manager, schedule, apiserver 等组件。
yum -y install etcd kubernetes-master
安装完成后(这里面都是自动化安装,无需我们操作),要修改一个配置文件
vim /etc/kubernetes/apiserver
将KUBE_ADMISSION_CONTROL的值里面serviceaccount去掉,这个值是进行认证的,即证书签发,比较麻烦,暂时不搞。

k8s能不能安装hadoop k8s安装方式对比_docker_02


配置etcd

vim /etc/etcd/etcd.conf

k8s能不能安装hadoop k8s安装方式对比_vim_03


配置apiserver

vim /etc/kubernetes/apiserver

k8s能不能安装hadoop k8s安装方式对比_docker_04


配置config

vim /etc/kubernetes/config

k8s能不能安装hadoop k8s安装方式对比_kubernetes_05


启动

systemctl enable kube-apiserver.service

systemctl restart kube-apiserver.service

systemctl enable kube-controller-manager.service

systemctl restart kube-controller-manager.service

systemctl enable kube-scheduler.service

systemctl restart kube-scheduler.service

启动完成后检查一下

[root@bigdata ~]# kubectl get componentstatus

k8s能不能安装hadoop k8s安装方式对比_vim_06

说明OK。

下面来安装node节点,同样使用镜像源进行安装,完成后配置文件

在node节点上安装kubernetes-node和flannel组件,flannel是为网络服务而用的,kubernetes-node可以帮助我下载kube-proxy, kubelet, docker并安装好,其实我事先已经装好了docker(安装时也要注意版本的匹配,否则冲突的话又要卸载重装),
安装完毕后,需要修改一些配置文件,我们许多人很多时候都怕修改配置文件,实际上当我们弄懂或者多搞几遍以后就会发现原来很简单,就那么几个东西需要修改一下。

配置config

vim /etc/kubernetes/config

k8s能不能安装hadoop k8s安装方式对比_kubernetes_07


配置kubelet

vim /etc/kubernetes/kubelet

k8s能不能安装hadoop k8s安装方式对比_k8s能不能安装hadoop_08


$ vim /etc/sysconfig/flanneld

k8s能不能安装hadoop k8s安装方式对比_docker_09


把划线部分修改为自己master的IP地址就行,保存退出

启动

systemctl enable kubelet.service

systemctl restart kubelet.service

systemctl enable kube-proxy.service

systemctl restart kube-proxy.service

在master上检查状态

kubectl get nodes

k8s能不能安装hadoop k8s安装方式对比_kubernetes_10

做个总结,装kubernetes要分master和node节点,因为它们学要的是不同的组件,而文件配置的话,看起来很繁琐,实际上真的不多,都是在/etc/kubernetes/文件夹下,如图所示,把里面的几个文件的IP地址修改一下就行

k8s能不能安装hadoop k8s安装方式对比_docker_11


这样做确定就是安装的版本有点低,无法控制,下次尝试新方法