ZhengWei Liu ( 劉政威 )

Hi there 👋. Welcome to my blog.

Argocd - 託管另一個 k3d cluster

託管 k3d cluster 給 argocd 時發生錯誤 dial tcp 0.0.0.0:26443: connect: connection refused , 透過手動增加 k3d cluster credential secret,並且透過 docker network 讓 argocd cluster 可以解析 k3d cluster api server ,就可以正常進行託管。

<span title='2023-12-09 22:23:02 +0800 +0800'>December 9, 2023</span>&nbsp;·&nbsp;2 分鐘&nbsp;·&nbsp;911 字&nbsp;·&nbsp;ZhengWei, Liu

K3d - K3s 輕量化 wrapper

K3d 是 K3s 的輕量化 wrapper , 讓 K3s 得以 Docker 上執行。

<span title='2023-12-09 17:56:49 +0800 +0800'>December 9, 2023</span>&nbsp;·&nbsp;2 分鐘&nbsp;·&nbsp;964 字&nbsp;·&nbsp;ZhengWei, Liu

K3s 設定 etcd

先前在 “Mac M2 安裝 K3s” 介紹如何快速安裝並啟動一個 K3s cluster,但發現 control-plane node 並沒有 etcd 的角色,查詢之後發現需要進行額外的設定,且可以採用 K3s 提供的 embedded etcd,或是自己建立 etcd 服務後供 cluster 使用。 就把兩種方式都玩了一遍: 1.對既有 cluster 設定使用 embedded etcd ,以及2.自己建立 etcd 並在新建立的 cluster 中使用。

<span title='2023-10-29 00:30:21 +0800 +0800'>October 29, 2023</span>&nbsp;·&nbsp;3 分鐘&nbsp;·&nbsp;1014 字&nbsp;·&nbsp;ZhengWei, Liu

透過 NFS Server 在 K3s cluster 新增 Storage Class

之前讀過 Shawn Ho 大大的在GKE上使用ReadWrite Many的Disk , 突然意識到 multipass 產生的 Ubuntu VM ,不就是現成的 Filesystem ! 只要在 Ubuntu 上安裝了 NFS server , 並在其他 VM 上安裝 NFS client , 那應該就能新增使用 NFS 的 Storage Class 了!查了一些資料後發現可行,於是就手動實做看看。

<span title='2023-10-26 23:42:35 +0800 +0800'>October 26, 2023</span>&nbsp;·&nbsp;5 分鐘&nbsp;·&nbsp;2280 字&nbsp;·&nbsp;ZhengWei, Liu

Mac M2 安裝 K3s

K3s是輕量化的 Kubernetes,由於先前我都是使用Docker Desktop Kubernetes,因為 Docker Desktop Kubernetes 是 single-node Kubernetes or Docker Swarm cluster,在local 部署 Pod 時也無法實際測試 affinity 功能,因此就想玩玩看 K3s 。

<span title='2023-10-25 22:03:42 +0800 +0800'>October 25, 2023</span>&nbsp;·&nbsp;3 分鐘&nbsp;·&nbsp;1133 字&nbsp;·&nbsp;ZhengWei, Liu

Design Patterns - Abstract Factory Pattern

簡而言之, Factory Method Pattern 描述的是定義製作者(Creator)和產品(Product)間的關係 , Abstract Factory Pattern 則是一種將多個製作者(Creator) 群組化的關係;Abstract Factory Pattern是基於Factory Method Pattern建構而成的一種設計模式,因此需要先理解 Factory Method Pattern 的核心精神與設計方式。

<span title='2023-03-11 21:27:46 +0800 +0800'>March 11, 2023</span>&nbsp;·&nbsp;5 分鐘&nbsp;·&nbsp;2465 字&nbsp;·&nbsp;ZhengWei, Liu

Design Patterns - Factory Method Pattern

Factory Method Pattern 簡明扼要的說,就是定義製作者(Creator)和產品(Product)間的關係。我們並不需要在意具體是哪個製作者生產產品,也不需要在意製作者用何種方式生產特定產品,因為我們關注的部分為,是否可拿到特定產品。

<span title='2023-03-08 21:15:20 +0800 +0800'>March 8, 2023</span>&nbsp;·&nbsp;4 分鐘&nbsp;·&nbsp;1734 字&nbsp;·&nbsp;ZhengWei, Liu

Design Patterns - Decorator Pattern

Decorator Pattern 透過修改已定義的行為,以擴展或變更其功能,而不需透過繼承和覆寫。 使用組合 (composition) 替代繼承 (inherit),可動態地添加或移除行為,且不需要在繼承關係中堆疊子類別。 Decorator模式更具靈活性和可維護性,因此被廣泛地應用於軟體開發領域中。

<span title='2023-03-01 22:40:29 +0800 +0800'>March 1, 2023</span>&nbsp;·&nbsp;3 分鐘&nbsp;·&nbsp;1302 字&nbsp;·&nbsp;ZhengWei, Liu

Design Patterns - Observer Pattern

在 Observer Pattern 中,將會明確定義出兩種角色 : 1. IObservable : 被觀察者,如上述的 Server (A類), 2. IObserver : 觀察者,如上述的 Client (B類) 。讓 Server 主動推送(Push)狀態變更的信號給 Client,可以有效的改善輪詢帶來的缺點。

<span title='2023-02-22 20:41:43 +0800 +0800'>February 22, 2023</span>&nbsp;·&nbsp;2 分鐘&nbsp;·&nbsp;927 字&nbsp;·&nbsp;ZhengWei, Liu

Design Patterns - Strategy Pattern

相對於繼承(inherit), Strategy Pattern 則是組合優於繼承(composition over inheritance)的精神。假設有一個薪水計算器要給兩個不同的客戶使用 : 速食業客戶以每小時時薪和工時來核算薪水,外送業客戶以每單獎金和總外送單數來核算薪水。薪水計算器需要提供給不同業者不同核算薪水的方法, Strategy Pattern 則提供了一種方式,使得不同業者可以使用同一個計算器,並選擇不同的核算方式,來獲取薪水計算的結果。

<span title='2023-02-22 11:32:13 +0800 +0800'>February 22, 2023</span>&nbsp;·&nbsp;3 分鐘&nbsp;·&nbsp;1232 字&nbsp;·&nbsp;ZhengWei, Liu