热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

优化后的标题:部署与配置Rancher操作系统指南

RancherOS是由RancherLabs开发的一款专为Docker设计的轻量级Linux发行版,提供了一个全面的Docker运行环境。其引导镜像仅20MB,非常适合在资源受限的环境中部署。本文将详细介绍如何在ESXi虚拟化平台上安装和配置RancherOS,帮助用户快速搭建高效、稳定的容器化应用环境。

RancherOS是由Rancher labs出品的一个专为Docker而生的精简版Linux,提供了一个完整的Docker运行环境。引导镜像仅有20MB大小,将其安装到ESXi虚拟机上导出之后,ova文件仅为300MB,比其他Linux发行版小的多。在我的工作环境中,需要将其安装至ESXi server,并向其他人分发。如果你有同样的需求,这篇文章也许可以或多或少帮助到你。英文文章,语法错误在所难免,欢迎批评指正。

To install RancherOS on your ESXi server, first of all, download rancheros ISO image from its website here

1. Create new Virtual Machine for RancherOS

On ESXi, create a new Virtual Machine with at least 1GB memory. After you created appliance, upload rancheros.iso to your ESXi datastore and set CD/DVD rom to use it.

2. Start rancheros

Once you clicked start button, the OS will boot up rapidly and prompt for login. Now rancheros is running in your RAM, you can login with credential rancher/rancher. Anything you change now will not be saved after you reboot. What we need is a docker ready OS so we need to install Rancher OS to our disk.

3. Prepare your cloud-config.yml

Before we install rancheros to our hard disk, you need to setup cloud-config first.

You also need to generate a new SSH key for cloud-config.yml file by following this article

Add your public key to cloud-config.yml file like following:

#cloud-config
ssh_authorized_keys:
- ssh-rsa #AB3NzaC1yc2E....Drinkey@JunkaitekiMacBook-Pro.local

This is for rancher os first boot configuration after installation, you can use your private key to connect this host.

Next, we are going to configure network before installation. Following is an example, you need to configure DNS, IP address of interface and default gateway.

rancher:
network:
dns:
nameservers:
- 172.23.0.5
- 119.6.6.6
interfaces:
eth*:
dhcp: false
eth0:
address: 10.138.103.63/24
gateway: 10.138.103.254
mtu: 1500

Make sure you only have one ethernet interface, current rancher os installer has problem when configuring multiple NICs.

Following is a complete example of cloud-config.yml.

#cloud-config
ssh_authorized_keys:
- ssh-rsa #AB3NzaC1yc2E....Drinkey@JunkaitekiMacBook-Pro.local
hostname: rancheros-cd01
rancher:
network:
dns:
nameservers:
- 119.6.6.6
interfaces:
eth*:
dhcp: false
eth0:
address: 10.138.103.63/24
gateway: 10.138.103.254
mtu: 1500

At last, you need to put your cloud-config.yml to rancher os. After you login, configure a accessible temporary IP address and default gateway on eth0, then scp your cloud-config.yml to it.

Following is an example

On RancherOS, configure IP and default gateway

$ sudo ip addr add 10.138.103.63/24 dev eth0
$ sudo route add default gw 10.138.103.254

On your local machine, copy your cloud-config.yml to RancherOS via SCP or other method.

4. Install

You should be all set if you done everything right in previous steps. Now we can call installer to initiate installation.

$ sudo rancheros-install -c cloud-config.yml -d /dev/sda

Installer will download rancher/os to your system and format /dev/sda. It could be some errors during installation, due to China GFW, keep retrying and you will success eventually.

At last, installer will prompt for reboot, after manual reboot you can configure own rancher os now.

5. Configuration

When rancher os came back, login interface would prompt several interface ip addresses. Now the old login credential rancher/rancher is not valid anymore, you can only use ssh with your private key to login

$ ssh -i wgid_rsa rancher@10.138.103.63

SSH will log you in directly without prompting for password. The private key should stay in your machine if this key-pair is not only for RancherOS connection. You can genenrate another key pair only for RancherOS first connection and you should distribute private key to other users. To enable multiple login, you need to enable ubuntu-console and configure password for user rancher

[rancher@rancheros-cd01 ~]$ sudo ros service list
disabled debian-console
disabled ubuntu-console
[rancher@rancheros-cd01 ~]$ sudo ros service enable ubuntu-console
[rancher@rancheros-cd01 ~]$ sudo ros service list
disabled debian-console
enabled ubuntu-console
[rancher@rancheros-cd01 ~]$ sudo reboot

After reboot, setup new password for user rancher, then you should be able to login from anywhere if you have correct username and password.

Now a lightweight docker ready system is deployed on your ESXi machine.

You can login with account rancher/password. If it didn’t work, you can share the newly generated ssh key pair to your users, it will cause no security issue, because the key pair is only for connecting exported RancherOS. After first login, user can replace his/her own public SSH key in RancherOS authorized_keys file.

Rancher OS also privoded configuration and upgrade approaches and will be described in another document.


推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何使用 Go 语言编写和运行一个简单的“Hello, World!”程序。内容涵盖开发环境配置、代码结构解析及执行步骤。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 如何高效创建和使用字体图标
    在Web和移动开发中,为什么选择字体图标?主要原因是其卓越的性能,可以显著减少HTTP请求并优化页面加载速度。本文详细介绍了从设计到应用的字体图标制作流程,并提供了专业建议。 ... [详细]
author-avatar
手机用户2502853847
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有