Kubernetes(三) - 使用Rancher部署K8S集群(搭建Kubernetes)
2018-06-05 09:14
2281 查看
目前创建K8S集群的安装程序最受欢迎的有Kops,Kubespray,kubeadm,rancher,以及个人提供的脚本集等。
Kops和Kubespary在国外用的比较多,没有处理中国的网络问题,没法使用。
kubeadm是Kubernetes官方提供的k8s部署工具,不过不支持HA,且支持的docker版本、K8S版本也有限,因此无法作为生产级安装程序。
Rancher2016年的新起之秀,可以做到极简快速部署管理Docker,并支持多种编排方式:Cattle、Kubernetes、Mesos、Swarm等。通过修改镜像库的方式可以实现在国内的使用。所以我们选择Rancher作为Docker管理部署框架。(因为对于Kubernetes也是容器化的方式运行所以容灾恢复比在物理机优秀)
附上:
Kubernetes官方文档:https://kubernetes.io/docs/reference/
Kubernetes官方Git地址:https://github.com/kubernetes/kubernetes
Rancher官方地址: https://www.cnrancher.com/
PS:本系列中使用 KubernetesV1.8 RancherV1.6.14
1. 配置K8S环境模板
如果大家直接创建一个K8S的环境会发现根本无法初始化,主要原因是K8S相关的Docker包是存放到gcr.io下面,https://cloud.google.com/container-registry , 在国内访问google是一件很痛苦的事情所以第一件事情就要解决墙带来的痛苦,所以我们需要使用国内的K8S源先进入到环境管理:
添加一个新的环境模板
选择K8S,然后点击编辑环境
修改以下可配置项,更换K8S源
私有仓库地址:registry.cn-shenzhen.aliyuncs.com
rancher_cn/pause-amd64:3.0
AAONS组件命名空间:rancher_cn
kubernetes-helm命名空间:rancher_cn
点击设置
配置名称为K8S-CN
在页面最下面点击创建后就能看到有这样一个模板了
2.创建一个K8S集群
这里统一使用的都是Centos7.4系统,Docker-17.03.02-ce版本同样在环境配置中选择添加环境
填写好名称K8S-DEMO选择我们之前创建好的国内K8S模板
创建好之后在左上角选择我们创建的环境
可以看到初始化进度,等待添加主机
选择技术架构->主机
添加主机
设置主机连接到Rancher的地址(在内网情况下使用内网IP)
复制部署脚本(也可以直接接入云厂商服务)
PS:第四步<主机同时也是运行rancher/server容器的主机时,则必须设置此IP。> 我们在配置master是在rancher上配置的所以设置好主机的IP,推荐node节点也配置上对应的IP
在服务器上运行脚本增加主机
我们可以看到主机已经是活跃状态了,并且K8S相关组件都已经配置启动起来了
我们在接着加两台node节点
现在就有三台正常的主机了,通过上面菜单的KUBERNETES中的仪表盘可以进入到kubernetes-dashboard
3. 尝试使用K8S
选择cli可以使用在线ssh工具操作kubectl
在K8S中运行一个nginx容器
> kubectl run kube-nginx --image=nginx:latest --port=80 --image-pull-policy=IfNotPresent
查看创建的pods查看容器对应的IP
> kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE kube-nginx-56495867b4-gvfrs 1/1 Running 0 58s 10.42.194.56 k8s-2
通过K8S分配的内部IP,就可以在web-shell中访问对应的nginx
> curl 10.42.194.56 <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title>
如果不需要了可以使用以下命令进行删除
> kubectl delete deployment kube-nginx deployment "kube-nginx" deleted > kubectl get pods -o wide No resources found.
相关文章推荐
- Kubernetes(二) - 使用Rancher部署K8S集群(搭建Rancher)
- 搭建及使用K8s集群 <k8s dashboard pod方式部署>
- 搭建及使用K8s集群 <k8s 集群部署springcloud 多应用>
- CentOS7.2中使用Kubernetes(k8s)1.4.6源码搭建k8s容器集群环境
- 搭建及使用K8s集群 <k8s集群部署springcloud 单应用>
- 使用Rancher的RKE快速部署Kubernetes集群
- 如何使用Rancher 2.0在Kubernetes集群上部署Istio
- 使用Rancher的RKE快速部署Kubernetes集群
- 搭建及使用K8s集群 <k8s Dns 部署>
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之集群部署环境规划(一)
- 使用kubeadm部署kubernetes集群
- k8s技术预研3--使用kubeadm安装、配置Kubernetes集群以及进行故障排查的方法
- 使用kubeadm部署k8s集群02-配置etcd高可用
- 使用kubeadm部署k8s集群08-配置LB指向kube-apiserver
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录
- 使用Rancher搭建K8S环境的准备工作
- 使用jenkins、docker、consul、nginx搭建支持自动化构建部署以及弹性伸缩的集群系统详细教程
- Kubernetes1.91(K8s)安装部署过程(三)--创建高可用etcd集群
- 使用acs-engine在Azure中国区部署kubernetes集群详解
- 使用kubeadm部署k8s集群03-扩容kube-apiserver到3节点