輕松掌握!一文教你用CloudBoot批量安裝RancherOS

作者簡介
趙安家,山東順能網(wǎng)絡(luò)全棧研發(fā)工程師。前端后端通吃,DevOps、安全、培訓(xùn)都有涉獵,負(fù)責(zé)了公司從單體服務(wù)遷移至微服務(wù)的項目。

介紹

CloudBoot

我們提供的服務(wù)有:網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、青海ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的青海網(wǎng)站制作公司

CloudBoot是云霽科技科技開源的一款簡單易用的裝機(jī)系統(tǒng),類似Cobbler ,但是功能更強(qiáng)大,更易用。(詳情可參閱參考資料的鏈接)

RancherOS

RancherOS是Rancher Labs開源的一款容器操作系統(tǒng),類似coreOS,RancherOS是Rancher Labs設(shè)計的小巧、專用的容器操作系統(tǒng),可用安裝到服務(wù)器本地硬盤中,也可以部署到公有云上,或者配合DockerMachine使用。與Ubuntu和CentOS不同,RancherOS使用cloud-config.yml配置文件來管理機(jī)器的配置信息,包括系統(tǒng)啟動時的服務(wù)、網(wǎng)絡(luò)相關(guān)的配置信息、存儲配置、容器配置等等,都可以放到配置文件中進(jìn)行管理。

安裝cloudboot

可參閱CloudBoot一鍵部署 :

http://idcos.github.io/osinstall-doc/environment/%E4%B8%80%E9%94%AE%E9%83%A8%E7%BD%B2.html

掛載RancherOS鏡像

wget -P /tmp/ http://releases.rancher.com/os/latest/rancheros.iso
mkdir -p $PWD/cloudboot/deploy/iso/rancheros/1.5.1/
mount -o loop /tmp/rancheros.iso /media
rsync -a /media/ $PWD/cloudboot/deploy/iso/rancheros/1.5.1/
umount /media

創(chuàng)建軟連接

docker exec -it cloudboot /bin/sh
ln -s /data/iso/rancheros /home/www/rancheros

注意:

  • CloudBoot默認(rèn)用戶名密碼是 admin/admin

  • 登陸后需要配置dhcp(【系統(tǒng)管理】-> 【系統(tǒng)設(shè)置】)

  • 需要配置網(wǎng)段(【網(wǎng)段管理】->【應(yīng)用網(wǎng)段】)

  • 本文講的是VMware,所以不需要配置OOB

  • 需要配置設(shè)備位置(【模板管理】->【位置管理】)

  • 如果CloudBoot和RancherOS都裝在VMware虛擬機(jī)里,需要把VMware的網(wǎng)絡(luò)設(shè)置中的dhcp去掉,否則會沖突

pxe安裝RancherOS

參考RancherOS#docs#iPXE和CloudBoot PXE模板定制規(guī)范

  • RancherOS#docs#iPXE:https://rancher.com/docs/os/v1.x/en/installation/running-rancheros/server/pxe/

  • CloudBoot PXE模板定制規(guī)范:

  • http://idcos.github.io/osinstall-doc/os/PXE%E6%A8%A1%E6%9D%BF%E5%AE%9A%E5%88%B6%E8%A7%84%E8%8C%83.html

PXE模板管理

從【模板管理】->【PXE模板管理】 新增RancherOS-1.5.1

DEFAULT rancheros
LABEL rancheros
KERNEL http://osinstall.idcos.com/rancheros/1.5.1/boot/vmlinuz-4.14.85-rancher
APPEND initrd=http://osinstall.idcos.com/rancheros/1.5.1/boot/initrd-v1.5.1 rancher.cloud_init.datasources=[url:http://osinstall.idcos.com/api/osinstall/v1/device/getSystemBySn?sn={sn}] rancher.autologin=tty1 rancher.autologin=ttyS0 rancher.autologin=ttyS1 rancher.autologin=ttyS1 console=tty1 console=ttyS0 console=ttyS1 printk.devkmsg=on panic=10 
IPAPPEND 2

系統(tǒng)模板管理

從【模板管理】->【系統(tǒng)模板管理】 新增rancheros-1.5.1

把docker mirror換成實際的加速器,如果不需要,可以刪除,ssh_authorized_keys 換成真實的ssh key

#cloud-config
rancher:
  console: alpine
  docker:
    registry_mirror: "https://xxx.mirror.aliyuncs.com"
runcmd:
  - sh -c 'curl http://osinstall.idcos.com/scripts/rancheros.sh | bash'
ssh_authorized_keys:
  - ssh-rsa AAAA....ZZZZ user@user
自定義腳本
在CloudBoot宿主機(jī)上,運行 docker exec -it cloudboot /bin/sh ,然后運行 vim /home/www/scripts/rancheros.sh
#!/bin/bash
progress() {
  curl -H "Content-Type: application/json" -X POST -d "{\"Sn\":\"$_sn\",\"Title\":\"$1\",\"InstallProgress\":$2,\"InstallLog\":\"$3\"}" http://osinstall.idcos.com/api/osinstall/v1/report/deviceInstallInfo
}
_sn=$(sed q /sys/class/net/eth0/address)
progress "配置主機(jī)名和網(wǎng)絡(luò)" 0.7 "6YWN572u5Li75py65ZCN5ZKM572R57uc"
# config network
curl -o /tmp/networkinfo "http://osinstall.idcos.com/api/osinstall/v1/device/getNetworkBySn?sn=${_sn}&type=raw"
source /tmp/networkinfo
cat > /etc/network/interfaces <<EOF
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address $IPADDR
netmask $NETMASK
gateway $GATEWAY
EOF
echo "$HOSTNAME" > /etc/hostname
sudo hostname "$HOSTNAME"
progress "配置alpine鏡像源" 0.8 "6YWN572uYWxwaW5l6ZWc5YOP5rqQ"
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
progress "安裝完成" 1 "5a6J6KOF5a6M5oiQ"
sudo ros install -c http://osinstall.idcos.com/api/osinstall/v1/device/getSystemBySn?sn=$_sn" -d /dev/sda -f

自動化安裝RancherOS

從VMware創(chuàng)建 空盤 -> 其他Linux4.x或更高版本內(nèi)核64位,2核2G虛擬機(jī),然后上電

虛擬機(jī)會從PXE拉取CloudBoot的bootos 安裝到內(nèi)存中,并且往CloudBoot上注冊待錄入的設(shè)備(待屏幕變藍(lán)色)

輕松掌握!一文教你用CloudBoot批量安裝RancherOS

從 http://${cloudboot host}/#/dashboard/device/scan/list 會發(fā)現(xiàn)新設(shè)備,選中后,點擊錄入新設(shè)備

輕松掌握!一文教你用CloudBoot批量安裝RancherOS

輕松掌握!一文教你用CloudBoot批量安裝RancherOS

bootos會自動輪詢是否有自動裝機(jī)任務(wù),所以靜候即可。如果等不及,可以在錄入成功后,手動重啟虛擬機(jī)。

在【正在安裝的設(shè)備】中,會自動出現(xiàn)要安裝的設(shè)備

輕松掌握!一文教你用CloudBoot批量安裝RancherOS

點擊【詳情】會在滾動模式下試試看到安裝進(jìn)度

輕松掌握!一文教你用CloudBoot批量安裝RancherOS

在【設(shè)備列表】可以看到已安裝成功的設(shè)備

輕松掌握!一文教你用CloudBoot批量安裝RancherOS

注意

和Rancher Labs架構(gòu)師張智博討論后,張智博指出

booting from ISO 首次啟動,整個系統(tǒng)都在內(nèi)存中。
執(zhí)行ros install后,安裝bootloader和initrd/vmlinuz到磁盤。
再次啟動后,就是完整的運行在硬盤上的操作系統(tǒng)。

腦洞

可以在 cloud config 配置自定義服務(wù),這樣裝機(jī)后,就可以直接啟動服務(wù),不需要ssh到ros上,手動執(zhí)行命令,例如配置Rancher client的添加主機(jī)的命令,這樣就可以直接添加到已有集群。 

更多參考 Custom System Services:

https://rancher.com/docs/os/v1.x/en/installation/system-services/custom-system-services/

#cloud-config
rancher:
 services:
  nginxapp:
   image: nginx
   restart: always

參考資料

  • https://juejin.im/post/5c748ae2f265da2d84108d71

  • https://juejin.im/post/5c748b2af265da2d9262ed0f

當(dāng)前文章:輕松掌握!一文教你用CloudBoot批量安裝RancherOS
網(wǎng)址分享:http://bm7419.com/article46/jceheg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、App開發(fā)、品牌網(wǎng)站制作、搜索引擎優(yōu)化、響應(yīng)式網(wǎng)站域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計