k8s-周边之-Rancher-01-初次体验-安装
需求:就是自己搭建玩玩。环境说明:三台虚拟机:ubuntu 18.0.4(64-bit),docker 18.09.x,4核,5g,50g其中一台作为rancher服务器,两台作为k8s节点服务器;其他注意点:01-docker版本说明:不同虚拟机对应不同点docker版本,这个直接看rancher官网就行了,有说明点,或者直接百度下,也有不少的文章;02-我的虚拟机是安装在windows的c盘上
需求:就是自己搭建玩玩。
环境说明:
三台虚拟机:ubuntu 18.0.4(64-bit),docker 18.09.x,4核,5g,50g
虚拟机是安装在我本地电脑上的,三台都在c盘,而且我的c盘是固态硬盘,这个很重要!!!
三台虚拟机其中一台作为rancher服务器,两台作为k8s节点服务器;
其他注意点:
01-docker版本说明:不同虚拟机对应不同点docker版本,这个直接看rancher官网就行了,有说明点,或者直接百度下,也有不少的文章;
02-我的虚拟机是安装在windows的c盘上的,至于为什么要装在c盘,因为c盘读写效率高,可以达到etc服务文件读写的速度(因为之前我状态d盘或者其他盘都不行,集群的etc服务会抱文件读写超时的问题,而我又没有特别好的云服务器,所以只能用c盘玩玩了)
03-rancher官网:Rancher快速入门 | Kubernetes管理平台 | Docker容器 | Rancher
docker安装:
首先三台服务器都要安装docker,我的是ubuntu 18.0.4 安装指定版本docker;
安装步骤:
1:更新Ubuntu,安装所需软件包
apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
2:添加官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
3:设置稳定的存储库
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable"
4:查看可安装的docker版本
apt-cache madison docker-ce
安装(指定版本)
sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu
5:启动并查看是否安装正常
sudo systemctl start docker
docker info
docker version
这里有几个docker常用的命令:
重启加速器服务
sudo systemctl daemon-reload
普通重启 Docker
sudo systemctl restart docker
修改配置后重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
设置docker自启
sudo systemctl enable docker
安装rancher
安装完docker后,就可以选一台服务器安装rancher了;
安装步骤:
安装指定版本的rancher
docker run -d --privileged --restart=unless-stopped -p 8089:80 -p 8443:443 rancher/rancher:v2.5.9
这就安装完了,启动后会有一些问题,我这里整理了几个之前我遇到的问题:
问题1:ect服务不停的重启?
查看启动日志后,发现,抱大量的超时,什么文件读取超时啊这些,
然后往上说的解决方案是建议etc集群安装在SSD或者其他类型的固态硬盘上来避免etc服务的磁盘io瓶颈,我就只能把虚拟机装在c盘上了(之前看了c盘有ssd的,那就说明我的c盘是固态硬盘,其他盘就是机械硬盘了)
问题2:
Set sysctl 'net/netfilter/nf_conntrack_max' to 131072
open /proc/sys/net/netfilter/nf_conntrack_max: permission denied
这个是跟操作系统内核相关的问题,我也不是太懂,反正就百度了下解决方案,如下:
Kube-proxy会自动将nf_conntrack_max改为131072 – IPCPU-网络之路
我是直接改的这个参数的:
改文件:
修改最大连接数 vim /ect/sysctl.conf
net.netfilter.nf_conntrack_max = 655350
修改完后执行 sysctl -p
问题3:
因为之前我安装失败过一次,重新装有一个问题:
Cluster health check failed: Failed to communicate with API server: Get "https:///api/v1/namespaces/kube-system?timeout=45s": context deadline exceeded
网上也有对应的解决方案,如下:
安装完成,就可以访问rancher了,
然后我在rancher中创建了一个集群,然后自定义集群,把那两个虚拟机都加入了进来。
然后百度了下如何部署服务,安装了一个nginx的服务,能正常访问,算是把rancher和k8s集群部署成功了。
当然这里我的k8s集群是用rancher中的方式自定义的方式部署加入的集群,
还有其他跟多的方式,比如你已经有一个集群,也可以直接导入。
至于如何自己部署k8s集群,也有几种方式,什么二进制部署啊(贼复杂),kubeadm啊,其他厂商提供的(rancher,建议初学者适用这种方式),还有直接买阿里云的k8s集群(有钱的话第一选择)。
更多推荐
所有评论(0)