1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        華為云服務器部署初探

        共 2137字,需瀏覽 5分鐘

         ·

        2022-01-14 10:26

        最近玩了下華為云,遇到了一些坑,做下記錄。

        華為云有很多的服務,文中會涉及到:

        • CCE
        • ECS
        • 彈性公網IP
        • DevCloud

        創(chuàng)建自己的鏡像

        因為購買的服務器為鯤鵬服務器,而開源鏡像中心的鏡像都是 x86 的,所以直接通過鏡像中心的鏡像進行安裝是無法正常運行的。有兩種方式可以解決:

        1、編輯 YAML 文件,將鏡像修改為支持 arm 的鏡像,比如:arm64v8/nginx ;

        2、創(chuàng)建自己的鏡像,然后推送到鏡像倉庫中。

        第一種方式測試過,但沒有成功。制作自己的鏡像的步驟如下:

        1、ssh 進入到 ECS 服務器;

        2、執(zhí)行下面命令進行操作:

        docker?pull?arm64v8/nginx
        ##?登陸鏡像倉庫
        docker?login?-u?cn-north-4@89VUVGA2PF5XSHSM6YB4?-p?40d6f47154ef844717e9acc4cc3240e2dfeb900b149058e60a3f6fa598fb1?swr.cn-north-5.myhuaweicloud.com
        docker?tag?arm64v8/nginx?swr.cn-north-5.myhuaweicloud.com/xxx/s2-nginx:latest
        docker?push?swr.cn-north-5.myhuaweicloud.com/xxx/s2-nginx:latest

        推送成功后,在我的鏡像中可以看到自制的鏡像,如下圖:

        有了自己的鏡像后,在 CCE 中創(chuàng)建無狀態(tài)工作負載時,就能在我的鏡像中進行選擇了。

        配置文件

        運行前端 vue 的程序,需要 nginx 配置文件、運行 Redis ,需要 Redis 配置文件、運行 API 程序,可能也會有自定義的配置文件,這些配置文件需要進行外掛,方便修改。下面以 Redis 的配置文件為例。

        在配置中心中創(chuàng)建 redis.conf 的配置項:

        創(chuàng)建無狀態(tài)工作負載,鏡像選擇 s2-redis ,在數據存儲配置中,選擇本地存儲:

        • 存儲類型選擇配置項,在下面的配置型可以選擇在配置中心添加的配置項;
        • 掛載路徑設置為 /etc/redis

        在啟動命令中配置相關命令可以讓 redis 以配置文件啟動,如果需要設置密碼,可以在參數中進行添加,如下:

        DevCloud 中的流水線

        DevCloud 是一個開發(fā)平臺,包含了代碼托管、項目任務管理、構建、部署等。下面以一個 vue 的示例來介紹怎樣從代碼提交到部署到 CCE 中。

        1、創(chuàng)建一個空白的 vue 項目 vue-demo ,并上傳到 DevCloud 中;

        2、項目的根目錄中添加 Dockerfile 文件,內容如下:

        FROM?swr.cn-north-4.myhuaweicloud.com/xxx/s2-nginx:latest
        COPY?.?/usr/share/nginx/html/
        EXPOSE?80
        CMD?["nginx",?"-g",?"daemon?off;"]

        3、在編譯構建中添加一個任務,任務中添加兩個構建步驟,如下圖:

        在命令的最下面添加 cp Dockerfile ./dist

        4、配置“制作鏡像并推送到 SWR 倉庫”:

        工作目錄:設置為 ./dist ,此目錄是執(zhí)行 docker build 的目錄,所以上面的命令中需要將 Dockerfile 復制到 dist 目錄中;

        5、手動執(zhí)行配置好的任務,順利的話會在我的鏡像中可以看到名為 vue-demo 的鏡像;

        6、在無工作負載中創(chuàng)建一個工作負載 nginx-test ,鏡像選擇 vue-demo ;

        7、在部署中創(chuàng)建一個任務,添加一個部署步驟:Kubernates 部署,如下:

        8、在流水線中兩個步驟構建和部署,分別選擇上面創(chuàng)建的構建任務和部署任務:

        9、設置流水線中的執(zhí)行計劃:

        代碼提交時觸發(fā),并且設置為包含 master ,當有代碼推送到 master 分支時就會觸發(fā)流水線,進行構建和部署。

        流水線參數

        每次推送代碼進行構建,然后制作鏡像并推送到 SWR 倉庫,鏡像的版本期望能加 1 ,而且部署時使用最新的版本進行部署,這就需要使用流水線的參數了:

        1、在流水線參數設置中進行參數的添加

        • 參數名:tag
        • 類型:自增長
        • 默認值:隨便定義,這里為 1.0.0
        • 運行時設置:設置為開啟

        2、在構建任務的參數設置中添加參數

        • 參數名:tag
        • 類型:字符串
        • 運行時設置:設置為開啟

        3、在部署任務的參數設置中添加參數

        • 參數名:tag
        • 類型:字符串
        • 運行時設置:設置為開啟

        4、構建任務的”制作鏡像并推送到 SWR 倉庫“ 步驟中的鏡像標簽設置修改為 ${tag}

        5、部署任務的 ”Kubernetes 部署“ 中的鏡像版本也修改為 ${tag} ;

        6、修改流水線的構建任務,tag 修改為 ${tag} ,如下圖:

        流水線的 tag 設置完后,當再進行代碼推送就會自動構建并生成新的鏡像版本,并部署到 CCE 的集群中。

        瀏覽 194
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            麻豆性生活| 足交在线播放 | 嫩草视频欧美一级A片 | a一级大片 | 爽好紧宝贝别夹太紧 | 国产尤物在线观看 | 黄色片AV| 亚洲精品久 | 午夜三级影院 | 午夜精品成人 |