VirtualBox使用ISO安装RancherOS——感受容器技术对操作系统发展的影响

在大学时期,我们上第一节操作系统课程的时候,老师就给我们讲,操作系统到底要干什么?这个问题想讲清楚说容易,也不容易。在操作系统发展的不同时期,它所完成的功能是不大一样的,单道程序,多道程序,批处理程序,网络操作系统,多用户操作系统,开源操作系统,闭源操作系统,分布式操作系统,分时操作系统,实时操作系统等等,划分的角度不同,划分的结果就不同。这么多的划分,操作系统要干什么呢?老师说:“很简单,就是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。”。概念的东西,需要细细的体会。云计算的今天,我们再来验证下:

  1. 管理计算机硬件资源——内核(比如linux内核)
  2. 控制其他程序运行——比如RancherOS的System Docker
  3. 其他程序——Docker封装的各种程序(这个不算是严格意义上操作系统的东西,但是现在看来界限在模糊)
  4. 用户提供交互操作界面——Android、IOS、VR虚拟现实等等

只不过现在分的更为详细了,每个划分只做好它本身,我还清楚的记得工程院院士倪光南的那句话,以后的操作系统就分两种,一种是专注于在各种屏幕上呈现声音画面的,另一种就是专注于处理服务数据的,这就是以后操作系统发展的趋势。慢慢的我们就看不清楚原来定义的界限了,它们在分化中融合!

下面我们来说说RancherOS:

RancherOS,目标是成为一个运行Docker容器的最小linux发行版,体积只有30M左右,精简的很不错,RancherOS中Docker守护进程是最先加载的进程,PID为1,内核启动的第一个进程,这个Docker实例称之为“System Docker”,它的工作就是初始化系统服务,所有的进程、服务等等都是通过一个个Docker实例来完成的,System Docker类似于其它linux发行版中Systemd比如ArchLinux。

其实RancherOS技术并不是多么厉害,很多linux发行版都很小,但是它的思想,它的观念是厉害的。说到这里不得不提CoreOS,CoreOS的目标也是为了运行Docker,但是RancherOS要比CoreOS的设计思想更进一步。RancherOS最初希望能直接在Linux Kernel上运行Docker,把所有用户空间Linux服务分发为Docker容器。这使得部署一个服务变得相当简单,对于运维人员来说,需要就拿来,不需要就去掉,招之即来挥之即去。

下面介绍一下我安装RancherOS的笔记和心得体会吧。RancherOS的官网:RancherOS,以及官方文档:http://docs.rancher.com/os/,作为参考吧。

安装前准备,当然就是下载RancherOS的ISO镜像文件了:rancheros.iso,我用的版本是v0.4.4-rc2,RancherOS的安装其实比CoreOS安装简单的许多了,因为它的网站没有被墙~~~~呵呵。不过还是建议在实体机环境里搭建一个web服务器,方便传输cloud-config.yml配置文件,至于创建web服务器在我上一篇的博客里面有写到,请参考CoreOS安装

下面就正式开始了,老规矩,VirtualBox配置:至少1G内存,硬盘5G足够使用,CPU看个人电脑配置情况,网络模式改成桥接网卡,EFI启动不要勾选。

加载并启动RancherOS的ISO,启动后用户名密码都是rancher,现阶段在rancher的cloud-config.yml配置文件中不支持添加用户,默认用户就只有rancher,这点和CoreOS是不一样的。首先先让我们的这个ISO系统能上网:

如果你所在的网络有DHCP服务器,由于RancherOS默认是打开DHCP客户端Docker进程的,所以是能自动获取IP地址的,所以就不用配置下面的静态IP了。

#先查看自己网络设备名称
ip link

#添加IP,注意将IP和eth0换成自己的
sudo ip addr add 192.168.0.2/24 dev eth0

#添加默认网关,注意将IP换成自己的
sudo route add default gw 192.168.0.254

#添加DNS,注意将IP换成自己的
sudo vi /etc/resolv.conf

#打开resolv.conf文件后添加
nameserver 192.168.0.1
#保存退出

可以ping一下外网确认能不能使用。

好的,继续。

下面就是rancheros中下载cloud-config.yml配置文件了:

#注意将IP换成实体机IP
wget 

#用vi查看下
vi cloud-config.yml

#cloud-config
ssh_authorized_keys:
  - ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0V4tVnpf2aHyrdp6Dsw7HKc+nkoWFIfZBvcvrjGOx31Scm/z+sYOEn/21R4tkBPrUKMVvg/o2tdWJ1uEZKgaAj+7gygyNRDhOJh4rnRdYhII27HK9QGAUHlTI8GJMigMmhK63yL2euWc18fc6bN6zr2sgZpolOB2GzJeCORYKDk3/bCv6FwUfSeBEWJOQqtTdnhfrT9VmILmZkQcRogq+g2fJfrgn2F/YxlPMcAYQ0Xp9O3BVNC5MF1x59hpa/YQScm2riqw+3eFTinuVJDTH65y1SxrDMnqHtspq48m1GD/M9F6peSSLoRAW96q5l0h2hGIbvu8Kt9iYmxMFfWeYw==
hostname: rancheros1
rancher:
  network:
    interfaces:
      eth0:
        address: 192.168.0.102/24
        gateway: 192.168.0.1
        mtu: 1500
        dhcp: false
    dns:
      nameservers:
        - 192.168.0.1

注意:所有的cloud-config配置文件里面的TAB键是不能被识别的,所以,切记缩进的时候一定使用空格键。另外windows中的换行符与linux、mac中的换行符是不一样的,所以使用windows建立这个文件的需要处理下换行符,使之变为linux、mac匹配的。

注意将上面配置文件中的IP地址DNS还有ssh公钥都换成是自己的,windows客户端可以使用putty或者xshell生成ssh,linux或者mac客户端直接在命令行中使用ssh-keygen命令生成。上面的配置默认不开启DHCP。

安装之后的配置文件在/var/lib/rancher/conf/目录下。关于更详细的cloud-config.yml配置文件讲解请参考:Rancher Documentation

好的,继续。

下面进行安装:

#安装RancherOS命令
sudo ros install -c cloud-config.yml -d /dev/sda

#提示是否继续,确认y
y
#有时候网络会不太稳定,多试几次安装

#成功之后提示是否重启,不重启N
N
#然后关机
sudo poweroff

关机之后,移除光驱,再次启动rancheros,开机如果失败,请检查配置文件。重要的事情说三遍:开机如果失败,请检查配置文件。开机如果失败,请检查配置文件。开机如果失败,请检查配置文件。请留意失败的提示,可以在虚拟机中开个录屏,以便回放,找到出错信息,有类似这样的提示row 11,col 1,这就说明你配置文件第11行第1列有问题。

成功之后就可以使用ssh登录了,安装之后的rancheros是不能使用rancher用户本机登录的,推荐使用ssh登陆用户名还是rancher。

时间: 2024-10-02 01:07:01

VirtualBox使用ISO安装RancherOS——感受容器技术对操作系统发展的影响的相关文章

2019 年,容器技术生态会发生些什么?

1. Kubernetes 项目被采纳度将持续增长 作为“云原生”(Cloud Native)理念落地的核心,Kubernetes 项目已经成为了构建容器化平台体系的默认选择.但是,不同于一个只能生产资源的集群管理工具,Kubernetes 项目最大的价值,乃在于它从一开始就提倡的声明式 API 和以此为基础“控制器”模式. 在这个体系的指导下, Kubernetes 项目保证了在自身突飞猛进的的发展过程中 API 层的相对稳定的和一定的向后兼容能力,这是作为一个平台级项目被用户广泛接受和认可的

云计算领域“集装箱”,容器技术正成为企业新宠

十年前,很多企业还把云计算当做一种很遥远的未来技术,但到了今天,几乎没有人会质疑"上云"的重要性.但是,在云计算的普及过程中也遇到了诸多困扰.比如因为专业性高,具有一定的学习成本,再加上各个云服务厂商之间的差 异性,这使得一些企业对于上云这件事变得有心无力.这时候,云原生(Cloud Native)应运而生.据了解,云原生作为诞生于云计算时代的一种新技术理念,近年来颇受业内追捧, 主要是因为云原生可以让应用和基础设施的部署变得更加快速,从而使企业能够用较低的技术成本享受到云的弹性和灵活

如何安装和配置 Rex-Ray?- 每天5分钟玩转 Docker 容器技术(74)

Rex-Ray 是一个优秀的 Docker volume driver,本节将演示其安装和配置方法. Rex-Ray 以 standalone 进程的方式运行在 Docker 主机上,安装方法很简单,在需要使用 Rex-Ray driver 的主机 docker1 和 docker2 上运行如下命令: curl -sSL https://dl.bintray.com/emccode/rexray/install | sh - 然后创建并编辑 Rex-Ray 的配置文件 /etc/rexray/c

管理和安装 chart - 每天5分钟玩转 Docker 容器技术(168)

安装 chart 当我们觉得准备就绪,就可以安装 chart,Helm 支持四种安装方法: 安装仓库中的 chart,例如:helm install stable/nginx 通过 tar 包安装,例如:helm install ./nginx-1.2.3.tgz 通过 chart 本地目录安装,例如:helm install ./nginx 通过 URL 安装,例如:helm install https://example.com/charts/nginx-1.2.3.tgz 这里我们使用本地

容器技术|Docker三剑客之docker-machine

docker-machine是什么? ocker-machine就是docker公司官方提出的,用于在各种平台上快速创建具有docker服务的虚拟机的技术,甚至可以通过指定driver来定制虚拟机的实现原理(一般是virtualbox). Docker 与 Docker Machine 的区别 Docker 是一个 Client-Server 架构的应用,Docker是大家对Docker Engine简称. Docker包括以下三个部分: 1.Docker daemon 2.一套与 Docker

汉澳jail容器技术支持直接同时运行数百个sinox副本

在windows上运行windows系统,用虚拟机软件是可以,直接运行是不可能的. 在汉澳sinox机器上创建和运行几百个sinox操作系统副本,几百个用户登录进入自己的操作系统操作而不影响他人,这就是jail容器技术. jail是一种操作系统层虚拟化技术 jial目标 1.虚拟化:每个软件容器(jail)都是在主机机器上执行的一个虚拟环境,有它自己的文件系统,进程,使用者与超级使用者的帐户.在软件容器内运行的进程,它面对的环境,跟实际的操作系统环境几乎是一样的. 2.安全性:每个软件容器都是独

ELK 完整部署和使用 - 每天5分钟玩转 Docker 容器技术(90)

上一节已经部署了容器化的 ELK,本节讨论如何将日志导入 ELK 并进行图形化展示. 几乎所有的软件和应用都有自己的日志文件,容器也不例外.前面我们已经知道 Docker 会将容器日志记录到 /var/lib/docker/containers/<contariner ID>/<contariner ID>-json.log,那么只要我们能够将此文件发送给 ELK 就可以实现日志管理. 要实现这一步其实不难,因为 ELK 提供了一个配套小工具 Filebeat,它能将指定路径下的日

Swarm 如何存储数据?- 每天5分钟玩转 Docker 容器技术(103)

service 的容器副本会 scale up/down,会 failover,会在不同的主机上创建和销毁,这就引出一个问题,如果 service 有要管理的数据,那么这些数据应该如何存放呢? 选项一:打包在容器里. 显然不行.除非数据不会发生变化,否则,如何在多个副本直接保持同步呢? 选项二:数据放在 Docker 主机的本地目录中,通过 volume 映射到容器里. 位于同一个主机的副本倒是能够共享这个 volume,但不同主机中的副本如何同步呢? 选项三:利用 Docker 的 volum

Linux 容器技术史话:从 chroot 到未来

Linux 容器是一个在单一 Linux 主机上提供多个隔离的 Linux 环境的操作系统级虚拟技术.不像虚拟机(VM),容器并不需要运行专用的访客(guest)操作系统.容器们共享宿主机的(host)操作系统内核,并使用访客操作系统的系统库来提供所需的功能.由于不需要专用的操作系统,因此容器要比虚拟器启动快得多. Virtual Machines Vs Containers (图片来自: Docker Inc.) 转载于:http://www.itxuexiwang.com/a/liunxji