MathJax

MathJax-2

MathJax-3

Google Code Prettify

置頂入手筆記

EnterproseDB Quickstart — 快速入門筆記

由於考慮採用 EnterpriseDB 或是直接用 PostgreSQL 的人,通常需要一些入手的資料。這邊紀錄便提供相關快速上手的簡單筆記 ~ 這篇筆記以 資料庫安裝完畢後的快速使用 為目標,基本紀錄登入使用的範例:

顯示具有 Container - LXC & Docker 標籤的文章。 顯示所有文章
顯示具有 Container - LXC & Docker 標籤的文章。 顯示所有文章

2024年1月4日 星期四

LXD 5.x 的圖形管理界面:LXD UI 設定

由 Ubuntu 主導,基於 LXC 強化的 system container 操作界面 LXD 支援圖形界面了~

看到這功能,就從上次的舊電腦的 Ubuntu 18.04 LTS 努力的升級到 22.04 LTS,然後看看這個網頁管理功能。

這邊紀錄一下,LXD 5.x 版的圖形界面。

2021年9月10日 星期五

初步認識 EDB Postgres 的 K8s 容器化解決方案 — Cloud Native PostgreSQL Operator

基於上一篇筆記所找到的好心測試 K8s 工具,這邊要來嘗試 EDB Postgres 的 PostgreSQL 容器化方案 — Cloud Native PostgreSQL Operator。

在前一陣子 EDB 曾經在 K8s/Openshift 平台還沒變成壓倒性主流容器平台方案時,就已經提供 Docker Container 的資料庫解決方案,當時也做了一點點練習(筆記在這)。

不過當時得努力的搞清楚最原生的 K8s YAML 設置,其實很複雜。。。

隨著 K8s 整體的推進,出現了 HelmOperator 這類「套件管理」的工具,加上 K8s 強化 Stateful Container 的支援,資料庫陸陸續續也可以輕易登陸 K8s 平台。

EDB 團隊基於這些變化,加上原 2ndQ 團隊的一同合作,便推出這個成熟的 K8s 解決方案。

這邊就要來初步體驗一下~

K8s in Docker:好心的 K8s 測試環境

K8s 有一大堆的測試環境設置方式,這邊紀錄一個 KIND 專案 — Kubernetes IN Docker — 把在 Docker Container 裡面模擬多節點 K8s 環境。

有別於之前筆記在 LXD 裡面設置 Minikube 得準備一堆預備動作,KIND 蠻好心的~簡簡單單的把 K8s 關在容器裡面~!

這樣一來~測試環境空間省很多,資源也比較省~更比之前辛苦的用 LXD 關住 Minikube 容易多了~

2020年4月1日 星期三

在 LXD Ubuntu Container 裡面不簡單裝 Minikube

測試用的 Kubernetes 要在 LXD 底下設置,有兩三種方法,主要是透過額外的服務輔助,像是 Installing to a local machine | Charmed Kubernetes documentation | UbuntuTutorial Part 1: Kubernetes up and running on LXC/LXD - Medium : kubernetes 這兩篇,用的是 Jujuconjure-up

不過這邊要使用比較 DIY 的方式演練,主要依照這篇進行設置 Medium: Setup Minikube inside LXC Container to create as many one-node Kubernetes clusters as you want.。不過這邊不打包 LXD Image,而是直接設置。另外相似的教學有 Run Minikube in LXD · GitHubKubernetes Lxd - Awesome Open Source 這兩篇,可以交互參照。

2019年10月7日 星期一

LXD 裡面的 CentOS 7 Container 必要功能補完

LXC/LXD Container 用途與 Docker 不同,主要用來提供完整的 Linux 操作環境。不過由於取得的 Image 是精簡版本的 OS,啟動一個 Container 之後,有一些常常用的小功能要補上。

這邊紀錄目前使用 LXD CentOS 7 Image 遇到的功能補完。

2019年9月6日 星期五

在 LXD 3 裡面設置 Docker 19.03.2 的 Swarm 叢集~

日前在嘗試用 LXC/LXD 模擬 Docker Swarm 節點,遇到設置上無法生效的狀況。。。因此之前的筆記只有基本的 Docker 功能
不過,現在捲土重來了~原來是之前遺漏了幾篇參考教學才會做不出來~~
主要的解法,在於 LXD 支援的 linux.kernel_modules 參數。現在就補上這個紀錄,以後確定也可以在 LXD 裡面練習 Docker Swarm 了~~

2019年6月8日 星期六

在 elementary OS Juno 5.0 (Ubuntu 18.04 延伸版) 裡面使用 LXD(LXC 進化版)

因為稍稍用一點點時間,把一台舊電腦打掉處理成一台裝了 elementary OS (Ubuntu 的延伸版,假 Mac)的測試用電腦。順便決定試著用看看 LXC 進階版的 LXD 作叢集環境演練。
結果。。。竟然發現!三兩下就設置完畢了,而且前面好幾篇的設置,竟然在 LXD 都處理妥當了~
也就是說,使用 LXD 作叢集測試環境,是更加更加方便的~這篇筆記,簡要紀錄一下設置環境

2019年4月4日 星期四

以一個 VM 擋十個 LXC Container — 具有 SystemD 功能的軟體叢集演練環境設置筆記

之前有紀錄一個用 Docker 運作包含 SystemD 的 Container。但是用起來還是有點不順手。因為畢竟 Docker 已經針對 Image 作很多特點上的調整,若用來作單純的 OS 操作,其實並不夠方便。

後來發現 Docker 的前身,LXC,雖然功能不及 Docker 豐富,但是其特性恰巧更適合把 Container 當成 OS 來操作。尤其在演練需要設置叢集的軟體時,更值得用 LXC 節省測試環境的資源開銷。

[Update 2019/6/9LXD(LXC 強化版)的筆記在這:比這一系列更輕易設定~還可以設定多張虛擬網卡環境喔
[Update 2019/9/7] LXD 裡面確認可以運作 Docker Swarm 叢集了,筆記在這

CentOS 7.x 上面的 LXC 測試環境 (7) - 在 LXC Container 裡面執行 Docker CE Engine(Container in Container)

理想上,要演練 docker Swarm 或是 K8S 的功能,通常會需要多個 VM 來測試叢集,不過這樣自己的電腦都會卡卡的。。。有了 LXC,就會想嘗試替代多個 VM,來設置這樣的「多節點」環境,讓電腦更輕鬆的運作這樣的叢集~

但是。。目前的現狀(LXC 2 / LXD 3 以及 Docker 18.09),Docker CE Engine 雖然可以運作,但是  Docker Swarm 部份,會嘗試載入 Kernel Module,以提供正常的 Overlay 網路功能,目前這一部份在 LXC/LXD 裡面還是有些狀況。。。

不過,這邊把目前作的到的,在 LXC 裡面設置 Docker Engine 的筆記,一樣紀錄起來。至於 Docker Swarm,可能要看看以後有沒有機會改善了。。

[Update 2019/9/7] LXD 裡面確認可以運作 Docker Swarm 叢集了,筆記在這

CentOS 7.x 上面的 LXC 測試環境 (6) - 在 CentOS 7 Host 建立 CentOS 6 LXC Container

有時需要準備 CentOS 6 的環境,可以直接利用 LXC Container。
LXC 的進階專案 LXD 提供 Container Image Repository,可以直接抓需要的 Linux Distribution。
這份筆記紀錄在 LXC 產生 CentOS 6 Container 的方式。
Note] 由於 RHEL 6 會在 11/30/2020 EOL,不能確定到時是否 Repository 是否還會提供

CentOS 7.x 上面的 LXC 測試環境 (5) - 把 LXC Container 裡面的服務的 Port 轉發到 Host 的 Port

不是所有軟體都靠指令、Confing 互動就可以完成,有些產品需要把服務的 Port 映射到 Host 的 Port 上讓外部可以存取,才有辦法進行進一步的操作跟演練。例如,許多產品有提供 Web UI 的界面作管理操作,若放在 Container 裡面,就會需要把相關網頁服務弄出來,讓外面可以正常用瀏覽器開啟,進行操作。

這邊示範把某個 Apache HTTPd 服務的 Container 的 80 Port 導向 Host VM 的某個 Port(這邊一樣選 Host 的 80 Port),以便讓我們進行操作。

CentOS 7.x 上面的 LXC 測試環境 (4) - 將 Host 目錄同時掛載到多個 LXC Container 中

LXC 可以讓不同 Container 之間都可以共同存取,用來假裝 NFS 目錄,作一些情境演練。例如,PostgreSQL 的 HA 設置中,需要共用目錄存放 WAL 備份。
當然,直接讓某個 Container 設置 NFS 讓其他 Container 存取也是完全 OK 的~

CentOS 7.x 上面的 LXC 測試環境 (3) - 建立 LXC Container 環境使用的 Local YUM Repo

有些提供 RPM 的軟體產品,需要演練在客戶端離線安裝的狀況。
這份紀錄如何預先下載套件,並建立 Local YUM Repo 讓其他 Container 存取。
這邊會使用到 HTTPD 服務,上一份已經預先處理好了。
這份筆記內容
 - 延續上一篇筆記的環境,搭配 EDB 的軟體安裝檔作建立 YUM Repo 的示範。
 - 使用 YUM Download Only 功能,預先準備需要的相依 RPM
這邊的範例,也可以適用到其他東西上~
(Note:這篇在 LXC 上面並不顯然喔,需要小小 Workaround 才行~)

2019年4月3日 星期三

CentOS 7.x 上面的 LXC 測試環境 (2) - 透過一些簡易 Script 使用 Container

因為篇幅的關係,這篇緊接著前一篇筆記,繼續完成 LXC 的基本使用。
這部份會提供的 Script:

  1. 建立一個 CentOS 7 Container
  2. 啟用一組 Container、查看現有 Container
  3. 登入 Container
  4. 停用所有 Container

CentOS 7.x 上面的 LXC 測試環境 (1) - 建立測試環境

這份筆記要利用 Linux Container(LXC)功能,設置輕量的軟體產品叢集演練環境,並且完整支援 OS 的 INIT 控制指令(CentOS 7 的 SystemD)。相較於使用多個 VM,透過 LXC,記憶體用量與磁碟用量都可以相當比例的節省,可以在一台電腦上撐更多模擬的主機節點,適合用在教育訓練或體驗營中。唯獨 Container 初始化都是精簡的內容,有些指令可能需要手動安裝才行,這需要事前需要先演練一次,才能確認需要補上的 Package。

這邊使用的 Container Host 為 CentOS 7.x,主要的要求是 Linux Kernel 需要 3.x 以上(可以用 CentOS 6.x、但是需要搭配 libvirt),並且採用 SystemD 作為 INIT 系統的 OS(方便後續的演練相容性)。

不使用 Docker 的理由:Docker Container 主在求精鍊,並打包成 Image 透過載入的方式產生運行的軟體服務。Docker Container 也傾向以 “1 image, 1 service” 來處理,不傾向在裡面啟動多個服務。Docker Container 裡面簡化 INIT 的支援,因此把 Docker Container 當成 OS 作演練比較麻煩。LXC Container 單純以 chroot 手法,以實體 OS 目錄運作,且完整支援 SystemD INIT,更加貼近實際架構設置環境,比起 Docker 長的更像一個 VM,比較適合作演練用途。

下圖為設置後的環境範例

這份筆記的範圍:
  • 設置具有 LXC 的 VM 環境(Privileged Container)
  • 設置基本 Container 網路,使 (1) Container 之間互通 (2) Container 可以訪問外面
緊接著在下一篇,會提供幾個簡易的控制 Script(產生 Container、啟動、停止、進入 Console)。

這邊的 Container 使用的是 Privileged Container,使用 root 啟動、進入後也是 root 帳號,僅作為練習環境用。普通帳號用的 Unprivileged Container 不在這筆記的範圍。

2018年10月16日 星期二

EDB 的 Postgres 企業版的 Docker 容器 v2.3 簡易試用筆記

近日 PostgreSQL 的企業版服務公司 EnterpriseDB 提供了其企業版產品的 Docker 容器服務。只要是 Docker Container 引擎為基礎的容器平台(Docker CE,Docker EE 或其他像 Red Hat OpenShift 平台等)都可以在認證後登入 EDB 提供的 Docker Registry(訂閱期間的用戶都可以~)去拉資料庫的 Image。

這裡簡單紀錄一下 Docker CE 裡面對 EDB Container Registry v2.3 的功能體驗筆記。

2018年8月23日 星期四

在 docker container 裡面執行 systemd 服務(測試環境用~)

RHEL 7 之後引進了 SystemD 這個萬惡的 INIT 系統,以其 Process 的控制上很龜毛嚴謹著稱。
Docker 容器與 Virtual Machine 不同,它本質上是一個運作環境被隔離起來的系統子程序,在 Host 上共用了底層的資源,例如 Linux 核心。
當上述兩者相遇,就有不直覺的事情產生了:當我們打包一些程式,裡面包含了 SystemD Service File,若我們希望可以在 Docker Container 裡面透過 systemd 的指令 systemctl 啟動程序的話,需要一些先決條件跟額外處置才行。

2018年5月15日 星期二

在 Slackware 14.2 裡面下載 LXC Image

類似 Docker 但不同設計目的的 LXC,也有一個小小的 Image Repository,以及相對應的工具叫做 LXD,也可以提供使用者拉一些其他 Linix DIstribution 的 Container。這裡便簡單的紀錄一下在 Slackware 裡面的 LXC 拉取映像檔的方式。

2018年3月2日 星期五

docker 簡易操作體驗 - 拉映像檔、登入設定、打包設定結果~~

Docker 這東西太紅了,隨便都是相關手冊,這裡就在 Slackware 上面照著試一下,然後作個簡易紀錄。
這裡只有試著把 docker container 單純當作作業系統的操作,如果要完整的學習,可以到 Play with Docker Classroom 進行線上互動式教學~

2017年12月25日 星期一

LinuX Container on Slackware 14.2 練習筆記 - 設定網路

上次設定 LXC Container 沒有設定上網,所以目前的 Container 是沒辦法連外的。
這裡接續上次設定,繼續使 Container 可以連上外部網路。