CoreOS如何安装
这篇文章将为大家详细讲解有关CoreOS如何安装,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
CoreOS是一个基于Linux 内核的轻量级操作系统,为了计算机集群的基础设施建设而生,专注于自动化,轻松部署,安全,可靠,规模化,CoreOS作为Docker生态圈中的重要一员,日益得到各大云服务商的重视,发展风头正劲。
CoreOS宣称最小化的定制版linux系统:
Linux内核
Linux运行所需存在两个ROOT分区,一个被用作启动分区,一个被用作更新分区更新分区在更新完成后,自动重新启动系统,当前机器不需要从负载集群中移除,为了保证其它应用程序不被打断,会通过Linux cgroup限制更新过程中的磁盘、网络等IO使用。
systemd
作为默认系统和服务管理器,其优秀特性:
支持并行化任务;同时采用 socket 式与 D-Bus 总线式激活服务;按需启动守护进程(daemon);利用 Linux 的 cgroups 监视进程;支持快照和系统恢复;维护挂载点和自动挂载点;各服务间基于依赖关系进行精密控制。
root分区被设计成只读
root分区被设计成只读,用以保证数据的一致性和更新可用
CPU、IO等资源隔离
自然要祭出容器(Container)来,CoreOS很明智使用Docker作为容器管理器用以构建、发布应用,从这个层面来看,一个应用其实就是一个容器。
etcd组件负责服务发现和配置共享
采用Raft分布式一致性协议算法,承担起,组件之间服务通信使用。很自然的,容器(Container)之间应用、服务的伸缩,就显得很简单了。其基因层面支持集群特性,当然,你也可以解读为云环境的支持。
一:准备SSH公钥/私钥 或 密码
SSH公钥/私钥制作 :在其他linux客户机机上执行 ssh-keygen : [root@localhost ~]# ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):Created directory '/root/.ssh'.Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:d3:b5:fe:05:81:55:4b:6c:be:08:aa:28:7c:0d:e4:9d root@localhost.localdomainThe key's randomart image is:+--[ RSA 2048]----+| oo.|| o.o.|| o +. || . . o . o || o . S o o o .|| o E o . . o || . + . . .|| o o o . . || o . |+-----------------+
中间需要选择的步骤,全部默认回车完成。然后在当前用户的~/.ssh/下面生成了id_rsa id_rsa.pub2个文件,将id_rsa.pub里面的加密串贴在下一步的密钥版 cloud-config.yaml文件 ssh-authorized-keys 对应的值上。
密码制作 :在其他linux客户机机上执行 :
[root@localhost ~]# openssl passwd -1 > 1234.txtPassword: [输入密码]Verifying - Password: [再次输入密码][root@localhost ~]#[root@localhost ~]# cat 1234.txt$1$ywWEh28N$JPwtTtm54yxmEDNegE5.Z0
将1234.txt里面的加密串贴在下一步的 密码版 cloud-config.yaml文件 passwd 对应的值上。
二:准备cloud-config.yaml文件
SSH密匙版本:
#cloud-config
hostname: myhost
coreos: etcd: addr: $private_ipv4:4001 peer-addr: $private_ipv4:7001 units: – name: etcd.service command: start – name: fleet.service command: start – name: static.network content: | [Match] Name=eno16777736
[Network] Address=192.168.31.122/24 Gateway=192.168.31.1 DNS=223.5.5.5 DNS=223.6.6.6 users: – name: core ssh-authorized-keys: – ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8C++zc+hDTWOe5DV+WnEa5/Y+dWN1UDVKX3pBYGHbNCYObpJdYpnaHbe+3NQijt15ZAYqOh7fYJlTx8L08z/bJvmj2n+N0hgO3onB4JsH70bSAL41FPzel7BKFnDlvJ1s3GJahdVzBsrDrCwzM96ofUcImtwji0oWPT3bMApkKa8e2Ty5+WwBuxFKDq/MJVqBK4yJmBnylGzmEyyRnlVpQjsDGdbYjDtHU1ECU+H4oSE7o0cSBQntQeH0ckHMU9cnwnLO8IoHIYad4oY/u+UvLq+58kO85ltioaEmTPkWBIzSB6hP/ghHrQUN/Kf22ECgD5H9CaDDGKHrlwJUZDq1 root@kali
– groups: – sudo – docker
密码版本:
#cloud-config
hostname: myhost
coreos: etcd: addr: $private_ipv4:4001 peer-addr: $private_ipv4:7001 units: – name: etcd.service command: start – name: fleet.service command: start – name: static.network content: | [Match] Name=eno16777736
[Network] Address=192.168.31.122/24 Gateway=192.168.31.1 DNS=223.5.5.5 DNS=223.6.6.6 users: – name: core passwd:$1$ywWEh28N$JPwtTtm54yxmEDNegE5.Z0 – groups: – sudo – docker
三:下载及安装
现在我们已经编写好 "cloud-config.yaml",可以下载并安装CoreOS了。
ISO下载链接:http://stable.release.core-os.net/amd64-usr/current/coreos_production_iso_image.iso
用ISO盘启动,会自动进入bash命令行,用户为core。注意此时系统只是加载到RAM而已,并未安装。
如果想转到root身份对当前配置、网络等操作,sudo -i 。
下载 制作好的cloud-config.yaml 文件 :
wget http://192.168.220.137:8080/cloud-config.yaml
此刻准备工作已经完成了,如果想要安装到sda这块硬盘上。
[core@server ~]$ sudo coreos-install -d /dev/sda -C stable -c ./cloud-config.yaml
其中: -d 指定目标设备 -C 指定版本,这里我用stable -c 指定配置文件,cloud-config.yaml
执行安装命令后,工具会自动到网站下载CoreOS的硬盘镜像,并安装到硬盘上面。 看到这句说明安装成功了: Success! CoreOS stable 835.13.0 is installed on /dev/sda
如无意外,安装完了就可以重启,并可通过之前配置的SSH客户端机器登录和之前设置的密码直接登录。 [root@localhost ~]# ssh core@192.168.31.122The authenticity of host '192.168.220.143 (192.168.220.143)' can't be established.ED25519 key fingerprint is fb:ba:38:e3:bc:14:21:33:0b:0e:46:a3:62:f2:9a:1f.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '192.168.220.143' (ED25519) to the list of known hosts.CoreOS stable (835.13.0)core@myhost ~ $
关于"CoreOS如何安装"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。