前言
关于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。

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