一、Flexus 云服務器 X 實例介紹
云服務器是一種基于云計算技術的虛擬服務器,提供靈活的計算資源和存儲空間。用戶可以通過互聯網訪問和管理云服務器,無需購買和維護物理硬件。云服務器具有高可用性、可擴展性和成本效益,適用于各種應用場景,如網站托管、數據存儲和大數據分析。用戶可以根據需求動態調整資源配置,確保系統的高效運行和資源的最佳利用。
華為云下一代云服務器 Flexus X 實例煥新上線,新產品基于用戶業務負載動態和內存峰值畫像,動態推薦規格,減少算力浪費,提升資源利用率,六倍性能,旗艦體驗,覆蓋高科技、零售、金融、游戲等行業大多數通用工作負載場景。
Flexus X 實例通過和其他服務組合,具備計算、鏡像安裝、網絡、存儲、安全等能力,您可根據業務需要靈活配置各資源。
本次測評使用的規格是:4 核 12G-100G-3M 規格的 Flexus X 實例基礎模式
二、Flexus 云服務器 X 實例配置
2.1 重置密碼
購買服務器的時候可以提前設置用戶名和密碼,因為我這里跳過了,所以購買完成后需要重置密碼,會短信或站內消息通過你的云服務器信息,重點是公網 IP 地址和用戶名,首先打開你的服務器控制臺,選擇重置密碼
勾選自動重啟,點擊確定即可
2.2 服務器連接
華為云服務器提供了多種鏈接方式,如使用控制臺提供的 VNC 方式登錄、使用 Linux/Mac OS 系統主機登錄 Linux 彈性云服務器(即 ssh root@192.168.48.78 命令)或者使用 Putty、Xshell 等工具登錄 Linux 彈性云服務器。
我個人習慣使用 MobaXterm這款軟件,添加 SSH 連接,輸出公網 IP、用戶名和端口(默認 22),連接即可。
2.3 安全組配置
安全組是一個邏輯上的分組,為同一個 VPC 內的云服務器提供訪問策略。用戶可以在安全組中定義各種訪問規則,當云服務器加入該安全組后,即受到這些訪問規則的保護。
系統為每個網卡默認創建一個默認安全組,默認安全組的規則是對出方向上的數據報文全部放行,入方向訪問受限。您可以使用默認安全組,也可以根據需要創建自定義的安全組。
主要需要填寫優先級(默認填 1 即可)、協議端口(協議一般為 TCP 或 UDP,端口一般選擇你項目需要暴露的端口即可),描述(選填,一般會填寫此端口的用途以免忘記了),其他默認點擊確定即可。安全組配置主要是暴露端口可以給外網訪問。
如果還不清楚可以參考文檔:安全組配置示例
2.4 Docker 環境搭建
本次服務器環境是 ubuntu 系統鏡像,需要自己安裝 docker 環境
使用 apt-get 命令安裝 docker 及其配置
#安裝必要工具包 $ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common#添加 Docker GPG 秘鑰 $ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -#配置倉庫源 $ sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" #更新 apt 包索引 $ sudo apt-get update#安裝 docker$ sudo apt-get install docker-ce docker-ce-cli containerd.io#添加 docker 鏡像源 $ sudo vim /etc/docker/daemon.json{"registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com/","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://ccr.ccs.tencentyun.com/","https://docker.m.daocloud.io/","https://dockerproxy.com",]}#重啟 $ sudo systemctl daemon-reload$ sudo systemctl restart docker
測試 docker 安裝是否成功
root@flexusx-c6b3:~# docker -vDocker version 27.2.0, build 3ab4256```
檢查 docker 服務狀態
root@flexusx-c6b3:~# systemctl status docker* docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h agoTriggeredBy: * docker.socketDocs: https://docs.docker.comMain PID: 24912 (dockerd)Tasks: 13Memory: 24.7MCPU: 3.778sCGroup: /system.slice/docker.service`-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
檢查 docker compose 版本
root@flexusx-c6b3:~# docker compose versionDocker Compose version v2.29.2
三、Flexus 云服務器 X 實例部署 Portainer
3.1 Portainer 介紹
Portainer 是一個通用的容器管理平臺,Portainer 的多集群和多設備支持意味著您可以在任何地方管理任何類型的環境(Docker 和 Kubernetes,在開發筆記本電腦上、在您的 DC、在云端或邊緣運行),并且我們不要求您運行任何特定的 Kubernetes 發行版。 我們提供統一的用戶體驗,使采用混合和多云部署變得更加快速,提高用戶管理其部署的效率,甚至允許您在一個管理窗格中混合使用 Docker 和 Kubernetes 端點。
?多環境支持 Portainer 支持 Docker 和 Kubernetes,能夠管理任何類型的環境,無論是在本地還是在云端。
?用戶友好的界面它提供了一個直觀的 Web 界面,使得即使是非技術用戶也能輕松上手。
?靈活性用戶無需依賴特定的 Kubernetes 發行版,可以根據需要自由選擇。
?安全性 Portainer 支持訪問控制和安全策略,確保容器環境的安全。
?集成與擴展性它能夠與現有的 CI/CD 管道和其他 DevOps 工具集成,支持自動化部署和管理。
?社區支持作為一個開源項目,Portainer 擁有活躍的社區,不斷有新功能和改進被加入。
Portainer 的設計目標是簡化混合云和多云部署的采用過程,提高用戶管理部署的效率,并允許在一個管理面板中混合使用 Docker 和 Kubernetes 端點。它提供了一個直觀的 Web 界面,使得用戶可以輕松地創建、管理和監控容器、容器堆棧、網絡和服務。
?官網:https://www.portainer.io/
?Github:https://github.com/portainer/portainer
3.2 Portainer 部署
?系統要求
?創建 docker-compose.yml
version:"3.5"services:portainer:image:portainer/portainer-ce:2.21.1container_name:portainerrestart:alwaysports: -"8000:8000" -"9443:9443" -"9000:9000"volumes: -/var/run/docker.sock:/var/run/docker.sock -./portainer_data:/datacommand: -"--http-enabled"
?ports:配置訪問端口
?volumes:配置訪問卷,映射容器內部文件路徑到本地
?http-enabled:用于啟用 http
如果將上述代碼片段保存在名為 docker-compose.yml 的文件中,則只需從同一文件夾中運行 docker compose up -d即可自動拉取 Portainer 鏡像,并創建并啟動一個容器。up表示啟動服務,-d表示在后臺執行。docker-compose down命令用于停止和清理由 docker-compose up啟動的服務。
?配置安全組
在 Flexus 云服務器 X 實例的安全組管理頁面,添加入方向規則,接下來我們啟動服務需要監聽 9000/9443 端口,所以添加安全組為 TCP:9000/9443 協議端口。
這是因為端口 9443 僅接受 HTTPS 協議,而不接受 HTTP 請求。
?訪問 9443 端口時地址中使用 HTTPS 協議。https://my.portainer.url:9443/
?如果您啟用了 HTTP 訪問,則可以通過端口 9000 上的 HTTP 進行訪問:http://my.portainer.url:9000/
?啟動服務
進入項目目錄,執行 docker compose up -d 啟動命令,會自動拉取容器并運行
從 Dockerhub 拉取 Portainer 鏡像,地址:https://hub.docker.com/r/portainer/portainer-ce
root@flexusx-c6b3:~/portainer# docker-compose up -d[+] Running 12/12? portainer Pulled 469.0s? 4127d56428a3 Pull complete 1.5s? ffdedde80950 Pull complete 0.8s? d40df14c1d7a Pull complete 463.9s? 8215717c7c10 Pull complete 18.8s? 542669febe7c Pull complete 78.5s? 6c27c7f45b54 Pull complete 32.7s? 47e858e07651 Pull complete 464.7s? dd1a5919c96d Pull complete 50.5s? b735e0aff190 Pull complete 64.5s? 6acf85cbc221 Pull complete 66.0s? 4f4fb700ef54 Pull complete 66.7s[+] Running 2/2? Network portainer_default Created 0.1s? Container portainer Started
?檢查容器狀態
檢查 Portainer 容器狀態,確保容器正常啟動
root@flexusx-c6b3:~/portainer# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESf0b8b629c16d portainer/portainer-ce:2.21.1 "/portainer --http-e…" About an hour ago Up About an hour 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp portainer
?訪問地址
內網:http://localhost:9000 外網:http://公網 IP:9000
?訪問結果
若出現此頁面,則部署 Portainer server 成功。
3.3 Portainer 使用
服務啟動后訪問,可進行初始設置,第一位用戶將是管理員,用戶名默認為 admin,但您可以根據需要更改,設置管理員,密碼密碼必須至少為 12 個字符,啟用或禁用統計信息收集
確定設置后,創建用戶
首次安裝 Portainer 時,如果您未在 5 分鐘內登錄并完成初始設置,容器內的 Portainer 服務將停止。
創建管理員用戶后,環境向導將自動啟動,該向導將幫助您開始使用 Portainer。安裝過程會自動檢測您的本地環境并為您進行設置,可以直接選擇開始使用 Portainer。如果您想添加其他環境來管理此 Portainer 實例,請單擊添加環境。
儀表板為我們提供了 Portainer 配置為與之通信的 Docker 實例的當前狀態概覽,如 CPU、內存信息,鏡像
Portainer 官方沒有支持的簡體中文的設置,默認英文,可以借助翻譯插件實時翻譯,當然也可以借助一些開源的漢化方案,如 github.com/eysp/public/,我使用了一下但是漢化成功了,但是創建不了管理員用戶,所以放棄了。
#下載解壓并復制到服務器 tar -zvxf public-public.tar.gzscp -r public-public root@123.60.144.170:/root/portainer/portainer_public#修改 docker-compose.yml- volume: ./portainer_public:/public
點擊本地環境的 Dashboard,查看更多環境信息,這顯示了我有多少個正在運行的容器,下載的鏡像數量,還可以看到 Docker 實例上可用的卷和網絡的數量,還會顯示正在運行的堆棧數量
左側菜單中的 App Template,這部分可能是唯一一個不是核心 Docker 引擎直接提供的功能,它是使用從 Docker Hub 下載的容器啟動常用應用程序的一種方式,支持搜索和分類查詢。Portainer 默認提供約 25 種模板,模板以 JSON 格式定義的。
Docker Stack 是 Docker Swarm 環境中用于管理一組相關服務的工具,它使得在 Swarm 集群中部署、管理和擴展一組相互關聯的服務變得簡單,主要用于定義和編排容器化應用的多個服務。在左側菜單 Stacks中可以查看
左側菜單中的 Contains這里,你可以啟動 Docker 實例上運行的容器并與之交互,點擊"容器"菜單項,就會顯示 Docker 實例上正在運行和已停止的所有容器的列表,我這里運行了 2 個容器。可以進行啟動、停止、重啟、暫停、恢復、刪除等操作
點擊任意一個容器,可以查看容器詳情,比如容器 ID、容器名字、運行狀態、創建時間、控制權限等
可以點擊 add container 按鈕創建容器,創建容器頁面上有幾個選項,應按如下方式填寫,完成后,點擊"部署容器",幾秒鐘后,運行中的容器列表就會顯示新啟動的容器
Name: clusterImage: russmckendrick/clusterAlways pull the image: OnPublish all exposed network ports to random host ports: On
左側菜單 Image是鏡像,在這里可以管理、下載和上傳鏡像。在頁面頂部,只需在框中輸入 mysql,然后點擊拉取鏡像,就能從 Docker Hub下載一份 mysql 容器鏡像
Network中可以使用默認網橋驅動程序快速添加網絡。單擊"高級設置"將帶你進入一個包含更多選項的頁面,其中包括使用其他驅動程序、定義子網、添加標簽和限制外部訪問網絡,也可以刪除網絡和檢查現有網絡
Volume中可以添加或刪除加密卷。在添加加密卷時,你可以選擇驅動程序,還可以填寫傳遞給驅動程序的選項,這樣就可以使用第三方驅動程序插件
Events活動頁面顯示過去 24 小時內的所有活動
Host中顯示的是 docker info命令的輸出結果
左側功能欄還有一些設置,用戶相關、環境相關、日志信息、設置等
左上角管理員頭像也可以進行設置,可以設置主題、修改密碼等
Portainer 的強大功能,如訪問控制、安全策略和集成支持,進一步增強了其易用性,使其成為 IT 專業人員和開發人員管理復雜容器環境的理想選擇。作為 Docker 玩家,可以輕松的部署一些有意思的項目,更好的管理鏡像和容器,可視化的管理更加容易直觀。Portainer 社區版的功能模塊都熟悉了一遍,常用的操作也都看一下,但是還是有很多設置配置需要研究下,期待有簡體中文的官方版本,翻譯的專有名詞總是很奇怪,更多有趣的設置和功能就需要自行探索了。
四、總結
Portainer 提供了一個直觀且用戶友好的界面,使得管理 Docker 和 Kubernetes 容器變得異常簡單。它的多環境支持和靈活的配置選項,讓用戶能夠輕松地在本地、云或邊緣環境中部署和管理容器。此次使用的 Flexus X 實例配置還是很高的 4 核 12G-100G-3M 規格的基礎模式,本地部署創建了 2、3 個容器同時使用也很流暢,沒有延遲和卡頓現象,沒有網絡問題或者重啟掉線問題,使用體驗很好,對于普通玩家都可以輕松部署有意思的項目的,無壓力。對于更大規模的部署,可能需要更高的配置,以確保流暢的性能和響應速度。
華為云服務器,以卓越的性能和穩定性著稱,提供靈活的資源配置,滿足不同業務需求。現在華為云服務器現正進行 828 B2B 企業節,享受限時優惠,免費試用和專屬技術支持,讓您的業務更上一層樓。立即行動,體驗華為云的高效與便捷,助力您的企業快速成長。
審核編輯 黃宇
-
圖形化
+關注
關注
0文章
57瀏覽量
14226 -
Docker
+關注
關注
0文章
489瀏覽量
11886 -
華為云
+關注
關注
3文章
2654瀏覽量
17496
發布評論請先 登錄
相關推薦
評論