在Rancher中,由于Kubernetes是基于Cattle引擎来部署,所以在Kubernetes部署完成之后,我们可以通过Link Graph来很清晰地看到整体的部署情况。
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比榆中网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式榆中网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖榆中地区。费用合理售后完善,10余年实体公司更值得信赖。
既然基于Cattle引擎部署,也就是说需要两个compose文件,k8s引擎的compose文件放在https://github.com/rancher/rancher-catalog/tree/master/templates 下面,这里面有两个相关目录kubernetes与k8s,k8s是Rancher1.2开始使用的,而kubernetes则是Rancher1.2之后开始使用的。
为了我们可以自己hack一下rancher k8s的部署,我们可以在github上fork一下rancher-catalog,同时还需要修改一下Rancher中默认的catalog的repo地址,这个可以在 http://
此时,我们就可以修改了,找一个比较实用的场景。我们都知道k8s的pod都会依赖一个基础镜像,这个镜像默认的地址是被GFW挡在墙外了,一般我们会把kubelet的启动参数调整一下,以便重新指定这个镜像地址,比如指定到国内的镜像源上 --pod-infra-container-p_w_picpath=index.tenxcloud.com/google_containers/pause:2.0 。如果我们要让rancher k8s部署时自动加上该参数,可以直接修改私有rancher-catalog中的k8s compose文件。
修改之后稍等片刻(主要是为了让rancher-server更新到新的catalog compose文件),添加一个k8s env并在其中添加host,k8s引擎就开始自动部署,部署完毕后,我们可以看到Kubernetes Stack的compose文件,已经有了--pod-infra-container-p_w_picpath这个启动参数。
如此我们在添加pod时再也不用手动导入pod基础镜像了。
在compose file中,部署k8s的基础镜像是rancher/k8s,这个镜像的Dockerfile在rancher维护的k8s分支中,如在rancher-k8s 1.2.4分支中可以看到:
这样如果想对rancher-k8s发行版进行深度定制,就可以重新build相关镜像,通过rancher-compose来部署自己的发行版。
原文来源:Rancher Labs
分享标题:如何hack一下RancherKubernetes
网站URL:http://lswzjz.com/article/psjihg.html