热门标签 | 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.


推荐阅读
  • 本文推荐了六款高效的Java Web应用开发工具,并详细介绍了它们的实用功能。其中,分布式敏捷开发系统架构“zheng”项目,基于Spring、Spring MVC和MyBatis技术栈,提供了完整的分布式敏捷开发解决方案,支持快速构建高性能的企业级应用。此外,该工具还集成了多种中间件和服务,进一步提升了开发效率和系统的可维护性。 ... [详细]
  • Java中处理NullPointerException:getStackTrace()方法详解与实例代码 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • 第五章详细探讨了 Red Hat Enterprise Linux 6 中的 Ext3 文件系统。5.1 节介绍了如何创建 Ext3 文件系统,包括必要的命令和步骤,以及在实际操作中可能遇到的问题和解决方案。此外,还涵盖了 Ext3 文件系统的性能优化和维护技巧,为用户提供全面的操作指南。 ... [详细]
  • 基址获取与驱动开发:内核中提取ntoskrnl模块的基地址方法解析
    基址获取与驱动开发:内核中提取ntoskrnl模块的基地址方法解析 ... [详细]
  • Linux入门教程第七课:基础命令与操作详解
    在本课程中,我们将深入探讨 Linux 系统中的基础命令与操作,重点讲解网络配置的相关知识。首先,我们会介绍 IP 地址的概念及其在网络协议中的作用,特别是 IPv4(Internet Protocol Version 4)的具体应用和配置方法。通过实际操作和示例,帮助初学者更好地理解和掌握这些基本技能。 ... [详细]
  • 1. 设置用户密码:使用 `slappasswd` 工具生成加密密码,确保账户安全。具体步骤如下:输入命令 `slappasswd -s NewPassword`,系统将提示重新输入新密码,并生成加密后的哈希值 {SSHA}xxxxxxxxxxxxxxxxx。2. 编写配置文件:编辑 `vildapus` 配置文件,添加必要的用户账户信息,以确保新用户能够顺利登录系统。 ... [详细]
  • 【Linux】CentOS 7 远程连接指南:高效安全的远程管理方法
    在 CentOS 7 中实现高效且安全的远程管理,本文详细介绍了如何检查和安装配置 OpenSSH。首先,通过 `yum list installed` 命令检查系统是否已安装 OpenSSH,若未安装,则使用 `yum install openssh-server` 进行安装。随后,配置 SSH 服务以确保其安全性和稳定性,包括修改默认端口、禁用 root 登录等关键步骤。此外,还提供了常见问题的解决方案,帮助用户顺利进行远程连接。 ... [详细]
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • 在Kubernetes上部署多个Mitmproxy代理服务器以实现高效流量管理 ... [详细]
  • 如果程序使用Go语言编写并涉及单向或双向TLS认证,可能会遭受CPU拒绝服务攻击(DoS)。本文深入分析了CVE-2018-16875漏洞,探讨其成因、影响及防范措施,为开发者提供全面的安全指导。 ... [详细]
  • 基于域名、端口和IP的虚拟主机构建方案
    本文探讨了在单台物理服务器上构建多个Web站点的虚拟主机方案,详细介绍了三种主要的虚拟主机类型:基于域名、基于IP地址和基于端口的虚拟主机。每种类型的实现方式及其优缺点均进行了深入分析,为实际应用提供了全面的技术指导。 ... [详细]
  • 在探讨Fragment的使用时,FragmentTransaction是不可或缺的一部分。作为管理Fragment操作的核心类,FragmentTransaction提供了诸如显示、隐藏、添加和移除等方法,这些方法在实际开发中被广泛使用。本文将深入解析FragmentTransaction的源码实现机制,帮助开发者更好地理解和优化Fragment的管理。通过分析其内部工作原理,读者可以掌握如何高效地进行Fragment的动态管理和性能优化。 ... [详细]
  • 本文详细介绍了使用响应文件在静默模式下安装和配置Oracle 11g的方法。硬件要求包括:内存至少1GB,具体可通过命令`grep -i memtotal /proc/meminfo`进行检查。此外,还提供了详细的步骤和注意事项,确保安装过程顺利进行。 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
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社区 版权所有