如何hack一下Rancher Kubernetes

简介:

在Rancher中,由于Kubernetes是基于Cattle引擎来部署,所以在Kubernetes部署完成之后,我们可以通过Link Graph来很清晰地看到整体的部署情况。


wKiom1iVNmjC9MeIAABFlIBVVeM386.jpg


既然基于Cattle引擎部署,也就是说需要两个compose文件,k8s引擎的compose文件放在https://github.com/rancher/rancher-catalog/tree/master/templates 下面,这里面有两个相关目录kubernetes与k8s,k8s是Rancher1.2开始使用的,而kubernetes则是Rancher1.2之后开始使用的。


wKiom1iVNnfyRGsDAABCBZWY9FU504.jpg


为了我们可以自己hack一下rancher k8s的部署,我们可以在github上fork一下rancher-catalog,同时还需要修改一下Rancher中默认的catalog的repo地址,这个可以在 http://<rancher-server>/v1/settings 页面下,寻找名为 catalog.url 的配置项,然后进入编辑修改。比如我这里将library库的地址换成了自己的 https://github.com/niusmallnan/rancher-catalog.git 。


wKioL1iVNpKwHmWrAABYM6OBv_4319.jpg


此时,我们就可以修改了,找一个比较实用的场景。我们都知道k8s的pod都会依赖一个基础镜像,这个镜像默认的地址是被GFW挡在墙外了,一般我们会把kubelet的启动参数调整一下,以便重新指定这个镜像地址,比如指定到国内的镜像源上 --pod-infra-container-image=index.tenxcloud.com/google_containers/pause:2.0 。如果我们要让rancher k8s部署时自动加上该参数,可以直接修改私有rancher-catalog中的k8s compose文件。


wKioL1iVNraAaajqAABnT0aY3Rg535.jpg


修改之后稍等片刻(主要是为了让rancher-server更新到新的catalog compose文件),添加一个k8s env并在其中添加host,k8s引擎就开始自动部署,部署完毕后,我们可以看到Kubernetes Stack的compose文件,已经有了--pod-infra-container-image这个启动参数。


wKiom1iVNsyjBpbUAABe0bA2ECM389.jpg


如此我们在添加pod时再也不用手动导入pod基础镜像了。


在compose file中,部署k8s的基础镜像是rancher/k8s,这个镜像的Dockerfile在rancher维护的k8s分支中,如在rancher-k8s 1.2.4分支中可以看到:


wKioL1iVNuKzp6NIAAA8xkb1D9Y979.jpg


这样如果想对rancher-k8s发行版进行深度定制,就可以重新build相关镜像,通过rancher-compose来部署自己的发行版。



本文转自 RancherLabs 51CTO博客,原文链接:http://blog.51cto.com/12462495/1894711
相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
Kubernetes 开发者 Docker
集群部署:使用Rancher部署Kubernetes集群。
以上就是使用 Rancher 部署 Kubernetes 集群的流程。使用 Rancher 和 Kubernetes,开发者可以受益于灵活性和可扩展性,允许他们在多种环境中运行多种应用,同时利用自动化工具使工作负载更加高效。
765 19
|
Kubernetes Cloud Native 流计算
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
481 3
|
Kubernetes Docker 容器
rancher docker k8s安装(一)
rancher docker k8s安装(一)
195 2
|
Kubernetes Docker 容器
rancher docker k8s安装(二)
rancher docker k8s安装(二)
401 1
|
Kubernetes 监控 数据安全/隐私保护
晓得用rancher怎么去管理K8S集群吗
晓得用rancher怎么去管理K8S集群吗
335 0
|
监控 Kubernetes 开发者
不容忽视的实力!Rancher:容器编排平台的领军者,引领行业风潮无人不知无人不晓!
【8月更文挑战第6天】Rancher是容器编排领域的领航者,提供开源容器管理平台,简化Kubernetes操作,支持多集群管理及DevOps工具集成。其直观界面便于部署、监控容器化应用,并提供应用商店加速部署流程。Rancher具备高度灵活性与安全性,支持自动化备份、恢复及容器迁移,确保业务连续性。通过持续创新与社区合作,Rancher引领行业发展,赋能开发者实现高效软件交付。
389 0
|
消息中间件 Kubernetes Kafka
实时计算 Flink版操作报错合集之在Rancher K8s部署时,TaskManager无法正常连接到其他TaskManager,该如何处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
Kubernetes 容器 Perl
如何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之后开始使用的。
1349 0
|
7月前
|
人工智能 算法 调度
阿里云ACK托管集群Pro版共享GPU调度操作指南
本文介绍在阿里云ACK托管集群Pro版中,如何通过共享GPU调度实现显存与算力的精细化分配,涵盖前提条件、使用限制、节点池配置及任务部署全流程,提升GPU资源利用率,适用于AI训练与推理场景。
622 1
|
7月前
|
弹性计算 监控 调度
ACK One 注册集群云端节点池升级:IDC 集群一键接入云端 GPU 算力,接入效率提升 80%
ACK One注册集群节点池实现“一键接入”,免去手动编写脚本与GPU驱动安装,支持自动扩缩容与多场景调度,大幅提升K8s集群管理效率。
449 89