Rancher2.x安装及k8s集群部署

安装Rancher

Rancher是业界唯一完全开源的企业级容器管理平台,为企业用户提供在生产环境中落地使用容器所需的一切功能与组件。

Rancher2.0基于Kubernetes构建,使用Rancher,DevOps团队可以轻松测试、部署和管理应用程序,运维团队可以部署、管理和维护一切Kubernetes集群,无论集群运行在何基础设施之上。

Rancher官网

  • 安装docker指定版本:

# curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker.repo

# yum install -y docker-ce-18.03.0.ce
  • 系统准备:
# yum update -y

# systemctl stop firewalld && systemctl disable firewalld

# sed -i 's/enforcing/disabled/g' /etc/selinux/config; setenforce 0
  • 配置加速:
# vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://dhq9bx4f.mirror.aliyuncs.com"]
}

# systemctl daemon-reload

# systemctl start docker && systemctl enable docker
  • 安装rancher:
# docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher

安装rancher其实就这一条命令,很简单是不是?

  • 浏览器访问:

设定好密码之后登录

Rancher2.x安装及k8s集群部署


K8S集群部署

  • 登录进来之后,点击添加集群,选择添加主机自建kubernetes集群

Rancher2.x安装及k8s集群部署

  • 选择集群选项:

Rancher2.x安装及k8s集群部署

  • 点开显示高级选项

Rancher2.x安装及k8s集群部署

  • 点击下一步之后,勾选集群角色,这里我就在一台机器上部署集群,所以全部勾选:

Rancher2.x安装及k8s集群部署

  • 复制下方命令,在集群对应角色的机器上执行:
# docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.1.6 --server https://192.168.30.128 --token tr5bb5j4nhz29kxnwkcmmn6sx9pqzslkfptsfmnsfmgtc77fkncxkm --ca-checksum 9dee301ba8c6172b431de0a8d2bdfe4717f75fc17a894f2ce6560753c61f151a --internal-address 192.168.30.128 --etcd --controlplane --worker
  • 执行完之后,页面会出现注册成功的提示:

Rancher2.x安装及k8s集群部署

  • 此时集群正处于准备状态中等待一段时间集群自动搭建完成:

Rancher2.x安装及k8s集群部署

  • 等待一段时间集群自动搭建完成,显示为active状态集群就搭建完成:

Rancher2.x安装及k8s集群部署

  • 查看集群状态:

Rancher2.x安装及k8s集群部署

  • 点击执行kubectl命令行

Rancher2.x安装及k8s集群部署

Rancher2.x安装及k8s集群部署

  • 查看集群主机:

Rancher2.x安装及k8s集群部署

角色配置一目了然

  • 查看存储卷:

Rancher2.x安装及k8s集群部署

  • 添加持久卷:

Rancher2.x安装及k8s集群部署

操作十分方便

  • 查看项目及命名空间:

Rancher2.x安装及k8s集群部署

  • 添加项目:

Rancher2.x安装及k8s集群部署

  • 部署应用:

Rancher2.x安装及k8s集群部署

Rancher2.x安装及k8s集群部署

  • 填好相关参数之后,点击启动

Rancher2.x安装及k8s集群部署

可以看到,nginx服务已经正常运行

  • 点击Pod副本数 +

Rancher2.x安装及k8s集群部署

可以看到下面运行的nginx pod数立马增加1,这就实现了动态伸缩。

  • 打开命令行,新增一个网页:

之前容器挂载目录是/var/www/html,新增一个网页

Rancher2.x安装及k8s集群部署

Rancher2.x安装及k8s集群部署

  • 再新增php网页,测试PHP解析:

Rancher2.x安装及k8s集群部署

Rancher2.x安装及k8s集群部署

php解析没有问题。

至此,简单的实验结束,个人感觉Rancher和kubernetes以及Harbor三者结合起来使用会比较好,可以让持续集成部署更便捷、更高效、更安全。