1 安装k8s dashboard
折腾了2天多,终于把rancher 安装kubernetesdashboard的问题解决了,先记录如下:
1.1 环境配置
centos7 内核:Linuxrancher-server 3.10.0-514.10.2.el7.x86_64
rancher:v.16.14
docker::1.12.3
1.2 安装前提
1、操作系统Kernel版本(3.10以上)
2、检查OS版本(Ubuntu16.04.x、CentOS 7.x)
3、检查Docker版本:1.12.6没有安装成功,最好使用1.12.3。
4、hostname 主机名(必须不同!RancherServer和各Node主机名都不能重复)
hostnamectl set-hostnamerancher-server
hostnamectl set-hostname rancher-node1
hostnamectl set-hostnamerancher-node2
5、hosts文件 (必须配置!把Server和各Node的IP和主机名都配置到文件中)。
6、IP/DNS参数设置(IP不能冲突,能正常解析域名)。
7、检查防火墙 (关闭!实验环境下关闭,生产环境下需配防火墙,Centos默认开启)
systemctl status firewalld.service
systemctl disablefirewalld.service
systemctl stop firewalld.service
8、检查SELinux (关闭!Centos默认开启)
关闭:
临时关闭
##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
setenforce 0
永久关闭
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
设置后需要重启才能生效
检查:
[[email protected] ~]# getenforce
Disabled
[[email protected] ~]#/usr/sbin/sestatus -v
SELinux status: disabled
9、IPV4转发 (必须开启!Centos默认关闭)
开启:
临时开启,(写入内存,在内存中开启)
echo "1">/proc/sys/net/ipv4/ip_forward
永久开启,(写入内核)
在 vim /etc/sysctl.conf 下
加入此行 net.ipv4.ip_forward = 1
sysctl -p ---加载一下
检查:
[[email protected] ~]# sysctl -a|grep"ip_forward" ----查看一下
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_use_pmtu = 0
10、Swap交换分区 (关闭!Ubuntu默认未配置)
sudo swapoff-a
1.3 安装docker
目前Rancher是支持稳定的Docker版本的,比如Docker 1.12.3、1.13.x、17.03.x-ce、17.06.x-ce等。但要想使用Rancher部署K8S,就需要考虑到K8S的软件依赖情况。Rancher官方网站文档显示,目前K8S v1.6.6版暂时只能使用Docker 1.12.3版本。K8S在github上的官方变更日志显示:“Docker 1.12.6已经验证的,但并不全部支持overlay2 driver驱动”,因此只有使用Docker 1.12.3版本。
卸载已经安装的docker:
yum remove docker \
docker-common \
docker-selinux \
docker-engine
下载docker源文件:
mkdir -p /usr/local/docker/src
&&wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-selinux-1.12.3-1.el7.centos.noarch.rpm
&&wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-1.12.3-1.el7.centos.x86_64.rpm
&&wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-debuginfo-1.12.3-1.el7.centos.x86_64.rpm
安装:
yum localinstall -y docker-engine-selinux-1.12.3-1.el7.centos.noarch.rpmdocker-engine-1.12.3-1.el7.centos.x86_64.rpm docker-engine-debuginfo-1.12.3-1.el7.centos.x86_64.rpm
验证:
docker version
启动:
systemctl enable docker && systemctlstart docker
1.4 清除安装痕迹
如果之前安装过rancher,则最好执行下面的清除操作:
如果是克隆的主机,请检查有没有/var/lib/rancher/state/这个文件夹,如果有则删除;
如果以前有通过Rancher安装过kubernetes,请执行命令:
docker rm -f -v $(docker ps -aq)
docker volume rm $(docker volume ls)
rm -rf /var/etcd/
执行脚本:
mkdir /usr/local/k8s
vim clean.sh
#!/bin/bash
dockerrm -f $(docker ps -qa)
rm -rf/var/etcd/
for min $(tac /proc/mounts | awk '{print $2}' | grep /var/lib/kubelet); do
umount $m || true
done
rm -rf/var/lib/kubelet/
for min $(tac /proc/mounts | awk '{print $2}' | grep /var/lib/rancher); do
umount $m || true
done
rm -rf/var/lib/rancher/
rm -rf/run/kubernetes/
dockervolume rm $(docker volume ls -q)
dockerps -a
dockervolume ls
sh /usr/local/k8s/clean.sh
1.5 rancher设置
kubernetes的模板设置:
Admin的settings的设置:
1.6 启动Rancher server
通过docker命令运行rancher server 并打印启动日志;
sudo docker run -d --name rancher-server-p 8080:8080 --restart=unless-stopped -eDEFAULT_CATTLE_CATALOG_URL='{"catalogs":{"library":{"url":"http://git.oschina.net/rancher/rancher-catalog.git","branch":"k8s-cn"}}}'rancher/server:stable && sudo docker logs -f rancher-server
访问http://<SERVER_IP>:8080。
需要注意的事,如果你的浏览器和Rancher Server是运行在同一主机上的,你需要通过主机的真实IP地址访问,比如 http://192.168.1.100:8080 ,而不是 http://localhost:8080 或http://127.0.0.1:8080,以防在添加主机的时候使用了不可达的IP而出现问题。
1.7 添加节点
切换到刚刚创建的环境
现在状态是这样,点击添加主机,
因为是第一次添加主机,系统会要求你确认节点注册地址,我们直接点击保存。
复制代码到每个node上执行
安装完毕:
打开KUBERNETES/Dashboard: