目前创建K8S集群的安装程序最受欢迎的有Kops,Kubespray,kubeadm,rancher,以及个人提供的脚本集等。

Kops和Kubespary在国外用的比较多,没有处理中国的网络问题,没法使用。

kubeadm是Kubernetes官方提供的k8s部署工具,不过不支持HA,且支持的docker版本、K8S版本也有限,因此无法作为生产级安装程序。

Rancher2016年的新起之秀,可以做到极简快速部署管理Docker,并支持多种编排方式:Cattle、Kubernetes、Mesos、Swarm等。通过修改镜像库的方式可以实现在国内的使用。所以我们选择Rancher作为Docker管理部署框架。

目前Rancher主要分两个大版本:1.6stable,2.0preview。

1.6需要手动选择编排工具,rancher2.0则是完全构建在K8S之上的容器管理平台,包含内置的Kubernetes Master。这也意味着通过命令启动rancher的时候,就立刻启动了一个kubernetes集群。使用上也相比1.6优化了许多。不过目前2.0只是预览版,安装的过程中还有bug,无法成功。2018年初将会推出正式版,希望会解决这个问题。

现在1.6stable已经安装成功,Docker的编排、Kubernetes的部署也都没有问题。

部署

操作系统:CentOS7.4 (必须要CentOS7.3以上)

启动

docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:stable

这里先说一下注意事项:

①rancher分为master和agent。二者最好分开部署,不要让一个节点既是master又是agent

②节点的资源要求:内存要不小于4G,推荐8G以上。4G以下,运行时服务经常会停止。

③所有节点都要配置时间同步

④提前将镜像下载到节点并加载,可以大幅度提升安装速度。(也可以搭建docker镜像私库)

⑤启用Docker的中国加速器,否则部署会很慢

参照 https://www.docker-cn.com/registry-mirror 或者 https://www.daocloud.io

安装Docker

在CentOS7+上可以通过yum直接安装(这个版本是1.12.6)。

yum -y install docker

启用中国加速器

echo '{"registry-mirrors": ["http://bcfb7352.m.daocloud.io"]}' > /etc/docker/daemon.json

如果之前装有其他版本的,需要删除所有镜像和容器,并卸载docker重装,rancher k8s 目前只支持 docker 1.12.3+ 的版本

安装rancher

docker run -d --restart=unless-stopped --name=rancher-server -p 8080:8080 rancher/server:stable && docker logs -f rancher-server

安装k8s

如果之前安装过docker和k8s,需要运行

docker rm -f -v $(docker ps -aq)

docker volume rm $(docker volume ls)

rm -rf /var/etcd/

创建环境模板

修改k8s模板

修改模板中的以下属性

Private Registry for Add-Ons and Pod Infra Container Image:index.docker.io

Image namespace for Add-Ons and Pod Infra Container Image:anjia0532

Image namespace for kubernetes-helm Image:anjia0532

Pod Infra Container Image: anjia0532/pause-amd64:3.0

创建k8s环境

选择k8s环境并添加主机

查看k8s基础服务状态

当基础服务都是绿色后,即可使用

查看k8s 仪表板 dashboard

参照:

rancher中国区加速安装Kubernetes

Rancher+K8S部署手册的更多相关文章

  1. Kubernetes 1.13 的完整部署手册

    前言: 非常详细的K8s的完整部署手册,由于Kubernetes版本和操作系统的版本关系非常敏感,部署前请查阅版本关系对应表 地址:https://github.com/kubernetes/kube ...

  2. MariaDB Galera Cluster部署手册

    MariaDB Galera Cluster部署手册 galara保证双主数据库的同步及一致性 1.环境准备 基于新部署.最小化安装centos6.5 1>  yum install opens ...

  3. LVS+MYCAT+读写分离+MYSQL主备同步部署手册

    LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1  ...

  4. 【转载】LVS+MYCAT+读写分离+MYSQL主备同步部署手册(邢锋)

    LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1  ...

  5. Python服务Dokcer化并k8s部署实例

    这篇文章记录了我试验将一个基于python的服务docker化并k8s部署的过程. 服务介绍Docker化设计业务代码改造创建docker镜像K8S部署设计yaml文件运行服务介绍这是一个用 pyth ...

  6. OpenStack Kilo版加CEPH部署手册

    OpenStack Kilo版加CEPH部署手册 作者: yz联系方式: QQ: 949587200日期: 2015-7-13版本: Kilo 转载地址: http://mp.weixin.qq.co ...

  7. [转帖]Oracle 11G RAC For Windows 2008 R2部署手册

    Oracle 11G RAC For Windows 2008 R2部署手册(亲测,成功实施多次) https://www.cnblogs.com/yhfssp/p/7821593.html 总体规划 ...

  8. ballerina 学习二十七 项目k8s部署&& 运行

    ballerina k8s 部署和docker 都是同样的简单,编写service 添加注解就可以了 参考项目 https://ballerina.io/learn/by-guide/restful- ...

  9. Javamelody部署手册

    Javamelody部署手册 1.  Javamelody下载 下载地址:http://code.google.com/p/javamelody/downloads/list(注:需要FQ才能打开下载 ...

随机推荐

  1. Caused by: com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the

    mysql6.0里面改成新的配置方式: hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect #old #driverClassNam ...

  2. mysql数据库导入到oracle数据库

    首先,写一个cmd脚本 xx.cmd sqlldr username/password control=xx.ctl errors=10000000 direct=y 再写一个bat脚本xx.bat ...

  3. Flutter入门之有状态组件

    StatefulComponent使用方法入门 在上一篇Flutter入门之无状态组件中我们讲到了无状态组件,所谓的无状态组件指的就是其内部的状态是来自其父组件并使用final类型的变量来存储,当组件 ...

  4. AutoArchive settings explained

    AutoArchive settings explained Applies To: Outlook 2010 More... Less AutoArchive helps manage the sp ...

  5. Python2 显示 unicode

    用户想要看的是 u'中文' 而不是 u'\u4e2d\u6587',但是在 Python2 中有时并不能实现. 转译 转义字符是这样一个字符,标志着在一个字符序列中出现在它之后的后续几个字符采取一种替 ...

  6. attempt to index a nil value (global 'luasql')

    require ’socket‘ require ’luasql.mysql' 上述返回结果都是正常 但是执行 env = luasql.mysql(),报错: stdin:1: attempt to ...

  7. 容灾 RPO RTO

    w https://en.wikipedia.org/wiki/Recovery_point_objective A recovery point objective, or “RPO”, is de ...

  8. 定时备份DB和WEB文件

    sql.sh #!/bin/bash ##备份数据库: 每4小时 date2=`date "+%Y-%m-%d---%H.%M.%S"` /alidata/server/mysql ...

  9. JavaScript 入门之常见对象

    常见对象 1. Object 对象 2. String 对象 3. Array 对象 4. Date 对象 5. Number 对象 6. 自定义对象 with 语句 为了简化对象调用内容的书写 格式 ...

  10. caffe使用(2)

    总体流程 https://blog.csdn.net/hjimce/article/details/48933813 https://zhuanlan.zhihu.com/p/24087905 1.编 ...