kubernetes构建微服务-k8s安装篇

前言

关于Kubernetes的介绍 上非常非常的多,这里就不多介绍了,如果有兴趣了解,看官 点击打开链接,值得静下心来好好学习下。

系统环境及工具

工具 用途
Oracle VirtualBox 用于安装ubuntu,单台虚拟机
Ubuntu 版本是16.04 LTS

Kubernetes软件包及ETCD

可以到官方的下载地址下载,地址是:点击打开链接,最新下载版本是V1.10,会被墙,可以参考点击打开链接,无论如何我还是把V1.0的client binary、server binary、node binary下载下来了。ETCD可以到点击打开链接下载。

软件包 用途
kubernetes-server-linux-amd64.tar.gz

版本是V1.10,包含KUBE-APISERVER,KUBE-CONTROLLER-MANAGER,KUBE-SCHEDULE

下载地址: https://pan.baidu.com/s/13wm4-ekgWv2BWsCRnY38oQ 

kubernetes-node-linux-amd64.tar.gz

版本是V1.10,   包含KUBELET,KUBE-PROXY,KUBECTL,需要先安装Docker

下载地址:https://pan.baidu.com/s/18PsRGxFIwqVbRIMRqZ8fgA

etcd-v3.3.4-linux-amd64.tar.gz

版本是V3.34,Kubernetes Master需要ETCD数据存储

下载地址:https://pan.baidu.com/s/1jy7DN7z6TUWNWGjBoN92cw

Docker

版本V1.12.6

安装配置ETCD

ETCD是用于共享配置和服务发现的分布式、一致性的KV存储系统,主要包括了增删改查、安全认证、集群、选举、事务、分布式锁、Watch机制等等,实现了RAFT协议,功能相当强大,coreos出品。

解压etcd-v3.3.4-linux-amd64.tar.gz,把目录下的etcd和etcdctl复制到/usr/local/bin目下,如图

这样ETCD的服务就起来了,可以用etcdctl命令往etcd写数据了。

然后在/usr/lib/systemd/system/目录下创建kube-apiserver.service

kube-apiserver.service配置

/etc/kubernetes/apiserver

API SERVER有三种认证方式:基本认证、Token认证、CA认证,很明显,这个配置没有任何认证信息,不建议在生产环境中使用,但是为了快速搭建环境,此次先跳过这个步骤,另外写博客详细描述这三种方式的搭建方式。

所有配置都弄好后,执行以下命令

启动后查看日志:

这样API SERVER就搭建完成了。

安装配置kube-controller-manager

Kube Controller Manager作为集群内部的管理控制中心,负责集群内的Node、Pod副本、服务端点(Endpoint)、命名空间(Namespace)、服务账 (ServiceAccount)、资源定额(ResourceQuota)的管理,当某个Node意外宕机时,Kube Controller Manager会及时发现并执行自动化修复流程,确保集群始终处于预期的工作状态。

kube-controller-manager的运行脚本在kubernetes-server-linux-amd64.tar.gz 文件中,拷贝kube-controller-manager到/usr/local/bin/目录下。

在/etc/kubernetes/目录下创建controller-manager配置文件。

可以看到Kube Controller Manager已经启动起来。

安装配置kube-scheduler

Kube Scheduler是负责调度Pod到具体的Node,它通过API Server提供的接口监听Pods,获取待调度pod,然后根据一系列的预选策略和优选策略给各个Node节点打分排序,然后将Pod调度到得分最高的Node节点上。

kube-scheduler的运行脚本在kubernetes-server-linux-amd64.tar.gz 文件中,拷贝kube-scheduler到/usr/local/bin/目录下。

在/etc/kubernetes/目录下创建scheduler配置文件。

OK,这样kubernetes的Master节点就搭建完毕了,接下来搭建Node节点,Node节点还是在同样的虚拟机上搭建,一般要求是Master和Node在不同的服务器上,但是K8s官方 站上说master和node在同一台机器上完全是没问题滴,所以就在同一台服务器上弄就可以了。

安装配置NODE节点

安装node之前需要先安装docker,关于安装docker的教程可以查看官方文档,也可以查看我之前写的博客,地址是点击打开链接

安装配置kubelet

在k8s集群中,每个Node节点都会启动kubelet进程,用来处理Master节点下发到本节点的任务,管理Pod和pod中的容器。kubelet会在API Server上注册节点信息,定期向Master汇 节点资源使用情况,并通过cAdvisor监控容器和节点资源。

解压kubernetes-node-linux-amd64.tar.gz 文件,拷贝kubelet到/usr/local/bin/目录下。

在/etc/kubernetes/目录下创建配置文件,包括kubelet和kubelet.yaml。

kubernetes构建微服务-k8s安装篇

kubelet.service配置如下:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年4月13日
下一篇 2018年4月13日

相关推荐