博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RKE安装kubernetes集群+Rancher 2.0安装
阅读量:6445 次
发布时间:2019-06-23

本文共 5007 字,大约阅读时间需要 16 分钟。

环境信息

系统版本信息

环境 版本
OS CentOS Linux release 7.4.1708 (Core)
Kernel Linux version 3.10.0-693.el7.x86_64
rke v0.1.9
rancher v2.0.8
docker 1.13.1

主机信息

主机名 ip 安装用户 操作系统
rk1 192.168.0.130 docker CentOS Linux release 7.4
rk2 192.168.0.129 docker CentOS Linux release 7.4

环境预设

以下步骤所有集群主机都要配置

1.关闭防火墙

setenforce 0systemctl disable iptables-services firewalldsystemctl stop iptables-services firewalld

2.禁用SELINUX

vi /etc/selinux/configSELINUX=disabledservice network restart

3.hosts文件配置

vi /etc/hosts127.0.0.1 localhost192.168.0.129 rk2192.168.0.130 rk1

4.修改主机名

以rk1机器(192.168.0.130)为例

1.登录192.168.0.130

ssh root@192.168.0.130

2.修改主机名为rk1

vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=rk1hostname rk1hostnamectl set-hostname rk1

3.退出重新登录查看是否生效

[root@rk1 ~]# hostnamerk1

5.配置用户组

#将安装rke用户加入docker组,建议安装用户选择非root用户usermod -aG docker docker

6.禁用交换分区

修改/etc/fstab 注释掉以下配置项

#/dev/mapper/VolGroup-lv_swap swap                    swap    defaults        0 0

7.设置ipv4转发

修改/etc/sysctl.conf

$ echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf$ systemctl restart network$ sysctl net.ipv4.ip_forward

8.配置ssh互信

登录rk1

$ ssh-keygen #生成公钥和私钥$ ssh-copy-id docker@192.168.0.129$ ssh-copy-id docker@192.168.0.130#验证是否生效[docker@rk1 ~]$ ssh docker@192.168.0.129 dateMon Aug 27 21:36:27 CST 2018

docker安装

1.配置yum源

##备份原yum源mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backupwget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repoyum makecache

2.docker安装

yum -y install dockerservice docker start##查看docker版本docker -vDocker version 1.12.6, build 3e8e77d/1.12.6

3.设置加速器

docker默认访问国外docker hub上镜像,速度较慢,可以替换成国内源,阿里和daocloud都有相关加速器,而且是永久免费,这里以daocloud为例.执行以下命令即可替换源(加速器是笔者的账号永久免费可以放心使用)

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://41935bf4.m.daocloud.io

这个脚本在centos 7上有个bug,脚本会改变docker的配置文件/etc/docker/daemon.json但修改的时候多了一个逗号,导致docker无法启动

[root@docker /]# more /etc/docker/daemon.json{"registry-mirrors": ["http://41935bf4.m.daocloud.io"],}

将最后的逗号去掉即可,截止到写这篇文档(2018-08-28)该bug还尚未修复.

替换后重启docker即可

systemctl restart docker

4.重启服务器

重启服务器后需要重新启动docker服务否则集群无法正常安装

kuberntes安装

RKE介绍

Rancher Kubernetes Engine(RKE)是rancher提供的一个快速安装kubernted集群工具,

使用Golang语言编写,能够实现在短时间内部署高可用kubernetes集群环境,从而大大降低安装kubernetes成本.

RKE安装集群需要指定配置文件cluster.yml,只要环境按照以上步骤预先配置好,只要一行命令就能安装Kubernetes集群.

RKE安装

可以从下载安装包,本文使用版本v0.1.9.下载完后将安装包上传至任意节点.

cluster.yml

这里提供一个简单版配置文件

nodes:    - address: 192.168.0.130      user: docker      role:        - controlplane        - etcd        - worker    - address: 192.168.0.129      user: docker      role:        - controlplane        - etcd        - workercluster_name: mpaascluster

这里简单定义了两个节点,完整的配置清单可以打开查看.

运行rke

cluster.yml和rke的安装包rke_linux-amd64放到同一个目录下,并在终端将当前目录cd到当前两个文件所在目录.执行以下命令

chmod +x rke_linux-amd64./rke_linux-amd64 up

如果运行正常,看到以下输出代表安装成功

....INFO[0018] [addons] Saving addon ConfigMap to KubernetesINFO[0018] [addons] Successfully Saved addon to Kubernetes ConfigMap: rke-metrics-addonINFO[0018] [addons] Executing deploy job..INFO[0018] [addons] KubeDNS deployed successfully..INFO[0018] [ingress] Setting up nginx ingress controllerINFO[0018] [addons] Saving addon ConfigMap to KubernetesINFO[0018] [addons] Successfully Saved addon to Kubernetes ConfigMap: rke-ingress-controllerINFO[0018] [addons] Executing deploy job..INFO[0018] [ingress] ingress controller nginx is successfully deployedINFO[0018] [addons] Setting up user addonsINFO[0018] [addons] no user addons definedINFO[0018] Finished building Kubernetes cluster successfully

此时在该目录下会生成一个kube_config_cluster.yml文件,这个文件下面会用到.

kubectl安装

kubectl是和kuberneter交互的工具,也就是kubernnetes-cli.通过该工具可以在本地执行kubernetes api

kubectl安装可以参考,以MacOS为例,只要执行以下命令就能完成安装,还是非常的简单.

brew install kubernetes-cli

安装完后将上面rke生成的文件kube_config_cluster.yml拷贝到本地~/.kube/目录下,执行以下命令验证是否集群连接成功

$ kubectl --kubeconfig kube_config_cluster.yml get nodesNAME            STATUS    ROLES                      AGE       VERSION192.168.0.129   Ready     controlplane,etcd,worker   2h        v1.11.1192.168.0.130   Ready     controlplane,etcd,worker   2h        v1.11.1

Rancher 2.0安装

安装

RKE只是负责kubernetes集群的安装,并没有安装Rancher server.Rancher server需要独立安装.这里非常不建议rancher和kubernetes安装在同一台主机上,主要是会有端口冲突,虽然可以通过端口映射解决,但无论是修改kubernetes还是rancher都比较麻烦.

这里在新的一台主机上192.168.0.118安装Rancher server,版本为2.0.8,Rancher安装相对比较简单,执行以下命令就能完成安装

docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:v2.0.8

集群导入

  1. 安装完成后登录https://192.168.0.118,如果提示证书错误,忽略即可.
  2. 初次登录需要指定管理员密码,设置下即可,默认管理员用户名为admin .
  3. 点击菜单全局->添加集群,添加集群.
  4. 选择import方式导入,输入集群名称点击创建.
  5. 点击后会跳转至说明页面,上面有导入集群到命令.如图

image

  1. 复制第二个命令,在本地(需按照以上步骤安装完kubectl)执行命令
kubectl --kubeconfig kube_config_cluster.yml apply -f https://192.168.0.118/v3/import/xxxxxxxxxxxxxx.yaml

如果因为Rancher正在使用不受信任/自签名的SSL证书运行而出现"由未知颁发机构签名的证书"错误, 请运行下面的命令以绕过证书检查:

curl --insecure -sfL https://192.168.0.118/v3/import/xxxxxxxxxxx.yaml | kubectl --kubeconfig kube_config_cluster.yml apply -f -

如果出现以下错误

Unable to connect to the server: x509: certificate signed by unknown authority

可以忽略,集群还是会正常导入

至此rancher 2.0集群安装完毕

转载地址:http://ekvwo.baihongyu.com/

你可能感兴趣的文章
curl 命令
查看>>
AngularUI团队封装的专用于AngularJS的前端UI库
查看>>
使用cookie管理会话
查看>>
用K-means聚类算法实现音调的分类与可视化
查看>>
cisco Vlan间通信之单臂路由
查看>>
CentOS-5.6-x86_64 下安装配置NFS
查看>>
我的友情链接
查看>>
ClassLoader
查看>>
COM 互操作 - 第一部分”示例
查看>>
Oracle中随机抽取N条记录
查看>>
自动安装
查看>>
Javascript生成随机数
查看>>
java中关于this的学习笔记
查看>>
sql打印了,但数据库木有数据处理
查看>>
机器学习面试之各种混乱的熵(一)
查看>>
zabbix3.0.4安装部署文档(三)----添加监控主机
查看>>
抓鸡 抓服务器 1433 3306 全自动效率抓鸡
查看>>
Linux常用软件
查看>>
Java下数字类型的转换
查看>>
DNS原理及DNS服务器的建立(主从)
查看>>