鯤鵬彈性云服務器開發環境搭建

      網友投稿 915 2022-05-28

      鯤鵬彈性云服務器對容器的支持很出色,能很好地支持基礎容器、系統容器以及

      應用容器。

      基礎容器如Snap,系統容器如Lxd,應用容器如Docker,在云時代,這三

      者配合好,可以搭建出不錯的開發環境,也就是一朵小而美開發測試云,為開發

      者所用。

      你是一名開發者嗎?你的開發環境如何?你有沒有一朵自己的開發測試云?

      你想在鯤鵬上做一些開發嗎?

      請跟我來。

      前期準備

      在鯤鵬社區年度盛典,實名認證用戶可以免費得到15天鯤鵬彈性云服務器試用

      的優惠。

      你可以免費得到一臺:

      操作系統選:Ubuntu 18.04,安全端口打開:8443。

      基礎容器

      Ubuntu 18.04?Snap已經裝好。

      我們可以用Snap安裝配置一個Go來用:

      snap?install?go?--classic cat?>?/etc/profile.d/go.sh?<

      我習慣把GOPATH設置為/usr/local,這樣Go的安裝包源碼就在

      /usr/local/src, 可執行文件在/usr/local/bin。一般的系統

      /usr/local/bin都在PATH,這就省了一點設置的麻煩。

      這樣Go就好了:

      go?version?#=> go?version?go1.13.5?linux/arm64

      裝一個dlv測試一下:

      go?get?github.com/go-delve/delve/cmd/dlv

      這樣就得到了一個Go的開發測試環境。

      或許,一個沒有Emacs的系統,稱不上開發測試環境:

      snap?install?emacs?--classsic

      系統容器

      這一節我們探探系統容器云lxd的安裝配置以及使用。

      安裝

      lxd在Ubuntu apt源里有,而且默認Ubuntu 18.04已經安裝,不過版本是3.01,太低不合適用。我們需要用Snap Store里的版本3.18。

      鯤鵬彈性云服務器開發環境搭建

      先卸載:

      which?lxd?#=> /usr/bin/lxd apt-get?purge?lxd?lxd-client

      安裝lxd:

      snap?install?lxd

      配置

      配置:

      lxd?init?--auto?\ ????--storage-backend=zfs?\ ????--storage-create-device=/dev/vdb?\ ????--storage-pool=default?\ ????--network-port=8443?\ ????--network-address=你的IP ????--trust-password=你的密碼?\

      注意:

      /dev/vdb是你的100G數據盤,

      8443是遠程服務端口,需要加入安全組,

      密碼要強一些。

      這樣就得到了一個系統容器云。

      lxd的磁盤鏡像在國外,這在國內使用會非常非常慢。不過我們可以把國內的鏡像給加上。

      華為的鏡像同步在:

      https://repo.huaweicloud.com/ubuntu-cloud-images/releases/

      不過由于一些原因(比如華為人比較傻,粗心,或者不勤奮),這個鏡像源同步的不對。我已在論壇開帖索要,讓我們拭目以待。

      好在騰訊云有可用的鏡像:

      https://mirrors.cloud.tencent.com/ubuntu-cloud-images/releases/

      把這個鏡像加上:

      lxc?remote?add?ubuntu2?\ ??https://mirrors.cloud.tencent.com/ubuntu-cloud-images/releases/?\ ??--protocol=simplestreams?\ ??--public

      這樣有了一個名為ubuntu2的磁盤鏡像源。以下會以剛定義的鏡像源ubuntu2為例子簡單說說使用。

      使用

      lxd客戶端叫lxc。這里lxc不是linux container而是lxd client的意思。

      起:

      lxc?launch?ubuntu2:18.04?dev01

      停:

      lxc?stop?dev01

      刪:

      lxc?delete?dev01

      系統容器可以重啟。你可以在容器里執行:

      shutdown?-r?now

      或者用lxc:

      lxc?reboot?dev01

      來進行重啟。

      系統容器重啟和虛機類似。這一點和應用容器有很大區別。在應用容器如Docker

      里,根本沒有重啟的概念,重啟等于刪除然后重新創建。這對于開發環境是不能

      接受的。其實不光對開發環境,對有狀態應用比如數據庫應用也不可接受。于是

      Kubernetes引入有狀態集和持久化卷來彌補這一點。

      回到Lxd的使用。

      lxc?exec?dev01?--?bash?-l

      這就進到容器里了,可以做任何操作。

      exec是Lxd的一個撒手锏功能,非常好用。在lxd3.19可能引入的KVM支持,

      lxc launch可以起虛機,lxc exec就可以非常方便地進到虛機里。

      遠程訪問

      Lxd可以遠程訪問。

      找到鯤鵬彈性云服務器公網ip,把8443加入安全組。

      在本地裝好lxc,然后運行:

      lxc?remote?add?dev?https://:8443 #?輸入密碼 lxc?remote?set-default?dev lxc?list

      應用容器

      Snap里有大量的優質應用,如Go,如lxd,如microk8s。

      Lxd是系統容器。系統容器做操作系統能做的事。

      系統容器里能運行什么?當然可以運行snap。

      lxc?launch?ubuntu2:18.04?microk8s?-c?security.nesting=true lxc?exec?microk8s?--?bash?-l snap?install?microk8s?--classic

      這樣一個kubernetes就搭建好了。當然microk8s可以建集群。

      lxd里可以跑Docker,這和在虛機里沒啥區別,不述。

      Snap里還有prometheus, grafana, postgres,等等大量的優質應用。一般地,

      相比較傳統包管理,如deb,rpm,snap里的應用版本更新,維護更及時。這是

      由Snap的設計決定的。

      應用源碼變更,打包為snap,會一次進入edge, beta, candidate, 最后進入

      stable。用戶安裝snap的時候,可以前進,可以回滾。安裝應用裝載鏡像,不會

      搞亂主機文件系統。

      MicroK8S集群搭建

      MicroK8S用lxd搭建有一些權限相關的注意事項,這些注意事項細碎,容易出錯。不過我們可以把這些注意事項都寫到lxd的profile里去。

      microk8s?profile

      從default拷貝microk8s:

      lxc?profile?copy?default?microk8s

      編輯microk8s:

      lxc?profile?edit?microk8s

      需要填入的內容如下:

      config: ??boot.autostart:?"true" ??linux.kernel_modules:?ip_tables,ip6_tables,netlink_diag,nf_nat,overlay ??raw.lxc:?"lxc.apparmor.profile=unconfined\nlxc.cap.drop=\nlxc.cgroup.devices.allow=a\nlxc.mount.auto=proc:rw?? ?sys:rw" ??security.nesting:?"true" ??security.privileged:?"true" ??user.user-data:?| ????#cloud-config ????locale:?en_US.UTF-8 ????write_files: ??????-?content:?L?/dev/kmsg?-?-?-?-?/dev/console ????????path:?/etc/tmpfiles.d/kmsg.conf ????runcmd: ??????-?[?systemd-tmpfiles,?--create?] description:?MicroK8s?profile

      這樣我們創建的lxd容器權限足以部署microk8s。另外我們利用cloud-init把設備/dev/kmsg鏈接到/dev/console,這是microk8s部署所要求的。

      創建3節點

      lxc?launch?--profile?microk8s?ubuntu2:18.04?micro01 lxc?launch?--profile?microk8s?ubuntu2:18.04?micro02 lxc?launch?--profile?microk8s?ubuntu2:18.04?micro03

      把microXX寫入本機/etc/hosts:

      lxc?list?-c4n?micro?--format?csv?|?sed?'s/(.*),//g'?>>?/etc/hosts

      把microXX寫入每個節點/etc/hosts:

      for?n?in?micro0{1..3};?do? ????cat?/etc/hosts?|?grep?micro0?|?lxc?exec?$n--?bash?-c?"cat?>>?/etc/hosts" done

      為每個節點配ssh訪問:

      for?n?in?micro0{1..3};?do? ????lxc?file?push?~/.ssh/id_rsa.pub?$n/root/.ssh/authorized_keys done

      實際上就是把本機id_rsa.pub拷貝到每個節點的authorized_keys。這樣就可以ssh無密碼訪問了。如本機沒有id_rsa.pub可以用ssh-keygen生成一下。

      安裝microk8s

      for?n?in?micro0{1..3};?do? ????lxc?exec?$n?--?bash?-c?"snap?install?microk8s?--classic" done

      組集群

      在第一個節點:

      lxc?exec?micro01?--?bash?-c?microk8s.add-node?#=> Join?node?with:?microk8s.join?10.187.55.119:25000/eveWKKNtRamCGnrdaGNFRuXQIRwAAFmz

      在其他節點:

      lxc?exec?micro02?--?bash?-c?"microk8s.join?10.187.55.119:25000/eveWKKNtRamCGnrdaGNFRuXQIRwAAFmz" lxc?exec?micro03?--?bash?-c?"microk8s.join?10.187.55.119:25000/eveWKKNtRamCGnrdaGNFRuXQIRwAAFmz"

      至此microk8s集群搭建完畢:

      NAME??????STATUS???ROLES????AGE????VERSION micro01???Ready???????170m???v1.17.0 micro02???Ready???????161m???v1.17.0 micro03???Ready???????113m???v1.17.0

      鯤鵬 容器 彈性云服務器 ECS

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:MySQL數據查詢太多會OOM嗎?
      下一篇:鯤鵬CentOS服務器上源碼部署LZ4
      相關文章
      亚洲AV日韩综合一区| 国产精品亚洲自在线播放页码| 亚洲中文字幕久久久一区| 亚洲欧洲日韩在线电影| 91亚洲精品视频| 亚洲黄色网站视频| 亚洲专区在线视频| 伊人久久综在合线亚洲2019| 亚洲网址在线观看你懂的| 久久精品国产亚洲AV大全| 亚洲自偷自偷精品| 亚洲精品熟女国产| 亚洲国产亚洲片在线观看播放 | 亚洲AV中文无码乱人伦在线视色| 亚洲风情亚Aⅴ在线发布| 亚洲av色香蕉一区二区三区蜜桃| 亚洲 另类 无码 在线| 亚洲精品成人区在线观看| 亚洲一区视频在线播放| 中文字幕精品亚洲无线码二区| 不卡精品国产_亚洲人成在线| 亚洲日韩精品射精日| 亚洲国产AV无码专区亚洲AV| 亚洲av无码一区二区三区网站| 亚洲成人中文字幕| 亚洲最大在线视频| 四虎亚洲精品高清在线观看| 亚洲精品天堂成人片AV在线播放| 久久精品国产亚洲av瑜伽| 亚洲成A人片在线观看中文| 久久久久亚洲精品天堂久久久久久| 亚洲人成网站在线播放vr| 久久久久亚洲AV成人无码| 亚洲视频国产精品| 亚洲欧洲另类春色校园网站| 亚洲精品欧美综合四区| 亚洲国产成人久久综合野外| 亚洲综合另类小说色区| 亚洲福利在线观看| 亚洲一卡2卡4卡5卡6卡在线99 | 亚洲国产精品无码一线岛国|