如何hack一下Rancher Kubernetes
在Rancher中,由于Kubernetes是基于Cattle引擎来部署,所以 在Kubernetes部署完成之后,我们可以通过Link Graph来很清晰地看到整体的部署情况。
既然基于Cattle引擎部署,也就是说需要两个compose文件,k8s引擎的compose文件放在https://github.com/rancher/ra... 下面,这里面有两个相关目录kubernetes与k8s,k8s是Rancher1.2开始使用的,而kubernetes则是Rancher1.2之后开始使用的。
为了我们可以自己hack一下rancher k8s的部署,我们可以在github上fork一下rancher-catalog,同时还需要修改一下Rancher中默认的catalog的repo地址,这个可以在 http://<rancher-server>... 页面下,寻找名为 catalog.url 的配置项,然后进入编辑修改。比如我这里将library库的地址换成了自己的 https://github.com/niusmallna... 。
此时,我们就可以修改了,找一个比较实用的场景。我们都知道k8s的pod都会依赖一个基础镜像,这个镜像默认的地址是被GFW挡在墙外了,一般我们会把kubelet的启动参数调整一下,以便重新指定这个镜像地址,比如指定到国内的镜像源上 --pod-infra-container-image=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-image这个启动参数。
如此我们在添加pod时再也不用手动导入pod基础镜像了。
在compose file中,部署k8s的基础镜像是rancher/k8s,这个镜像的Dockerfile在rancher维护的k8s分支中,如在rancher-k8s 1.2.4分支中可以看到:
这样如果想对rancher-k8s发行版进行深度定制,就可以重新build相关镜像,通过rancher-compose来部署自己的发行版。
总结
本文写于Rancher1.2行将发布之际,1.2版本是非常重大的更新,Rancher会支持部署原生的K8s版本,同时CNI网络和Cloud Provider等都会以插件方式,用户可以自己定义,并且在UI上都会有很好的体现。只要了解Rancher部署K8s的原理和过程,我们就可以定制非常适合自身使用的k8s,通过Rancher来部署自定义的k8s,我们就可以很容易的扩展了k8s不擅长的UI、Catalog、用户管理、审计日志维护等功能,这也是本文的目的。
本文转自中文社区-如何hack一下Rancher Kubernetes

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
k8s与CICD--将drone部署到kubernetes中,实现agent动态收缩
前言 本文主要讲如何把drone部署到k8s集群当中,本身drone这种基于容 器的pipeline方式,和k8s是相当契合的。这样的好处有: k8s集群守护drone-server 和drone-agent。 可以利用rpc特性,根据agent负载压力来动态调整agent的数量。当然即使不动态调整,我们手动调整一下复制集的数目也是相当简单的。 部署到k8s集群以后,可以利用k8s已有的日志系统和监控系统。 其实在接下来的文章系列中,我们会不断侧重于k8s相关。依旧是直接先上yaml文件,先来一个直观的感受。 相关yaml文件 ConfigMap在此处可以理解为drone应用的配置文件。这里有关于server和agent一系列设置。不过在k8s中大家需要注意的是:更新configmap以后,对于挂载该configmap的应用,配置内容并不能立即生效,大约需要10s。 apiVersion: v1 kind: ConfigMap metadata: name: drone-config namespace: devops data: ####################### # D...
- 下一篇
Rancher中的K8S认证和RBAC
Rancher Kubernetes拥有RBAC(基于角色的访问控制)功能,此功能可以让管理员配置不同的策略,允许或拒绝用户和服务帐户访问Kubernetes API资源。 为了更好地理解RBAC功能是如何工作的,本文将阐明如何使用Ku bernetes API进行身份认证,以及RBAC授权模块如何与认证用户协同工作。 在Rancher中使用KUBERNETES验证 Rancher使用Webhook Token身份验证策略来认证用户的bearer token。首先,用户使用Rancher验证通过Kubernetes > CLI选项卡获得kube配置文件,这其中就包含bearer token。然后,kubectl借助此token和web hook远程认证服务,用Kubernetes API对用户进行身份认证: 当用户尝试使用bearer token对Kubernetes API进行认证时,认证webhook会与Rancher Kubernetes认证服务进行通信,并发送包含该token的身份认证审查对象。然后,Rancher Kubernetes认证服务将会发送一个检查状态,该状态...
相关文章
文章评论
共有0条评论来说两句吧...