Kubernetes 提供多種部署選擇,而在眾多工具中,kops 以其易用性及高整合性脫穎而出。本文將深入介紹 kops 工具,並透過實際操作引導讀者在 OpenStack 環境中迅速建立一個 Kubernetes 叢集。 kops 是什麼? kops,即 Kubernetes Operations,正如其名,是一個專門用於 Kubernetes 叢集運維操作的工具。kops 的幾個主要特性如下: 支援建立、維護、升級和銷毀 Kubernetes 叢集 支援多個雲端平台,如 AWS、OpenStack/DigitalOcean(Beta)、Azure/GCP(Alpha) 可透過 kops 產生叢集的 Terraform 模板 管理 Kubernetes 叢集 plugin 自動化部署 Kubernetes 叢集。 kops 名詞 Storage STATE_STORE STATE STORE 定義了 kops 需要儲存其資料的地方,kops 會儲存的資料包含了 cluster spec、instance group 跟 ssh key 等。 API Cluster spec Cluster […]
Kubernetes
- Cloud
- ...
Kubernetes Cluster-API 介紹
Kubernetes 在雲原生世界發展這麼多年,也發展出了很多管理其集群生命週期的相關專案,如 kops, Rancher 等。而 VMware 則發起了一個名為 Cluster-API 的專案來利用 Kubernetes 本身的功能管理其他 Kubernetes 集群。本篇文章將會來簡單介紹 Cluster-API 這個專案。 Cluster-API 是什麼? Cluster API 是 Kubernetes 的子項目,專注於提供聲明式 API 和工具,以簡化多個 Kubernetes 集群的供應、升級和操作。 該專案由 Kubernetes Special Interest Group (SIG) Cluster Lifecycle 發起,使用 Kubernetes 風格的 API 和模式自動化平台運營商的集群生命週期管理。包含部署集群所需要的基礎設施,如虛擬機器、網絡、負載均衡器和虛擬網路等,以及 Kubernetes 集群設定都是和部署應用程式在 Kubernetes 上相似的模式進行設定管理。這使得在各種不同基礎設施環境中能夠實現一致和可重複的集群部署。 簡單來說,Cluster-API 會透過一些不同的 Custom Resource Definitions,來定義一個 Kubernetes cluster,並由相對應的元件去讀取這些定義並部署和管理其對應的集群。 目標: 利用使用聲明性 API 管理 Kubernetes […]
- Cloud
- ...
透過 Ingress Nginx 公開 TCP/UDP 服務
Ingress Nginx 在 Kubernetes 中常被利用來提供網頁服務的反向代理和 load balancing。在一些狀況下,你可能會需要同一個 IP 也能夠提供其他 TCP/UDP 服務。這篇文章將會介紹在這種狀況下如何透過 Ingress Nginx 來作為 TCP/UDP 服務的 proxy。 用途 在大部分狀況下,Ingress Nginx 只會用來提供 HTTP/HTTPS 的反向代理和 load balancing,但是在架設 GitLab、Gitea 等服務時,除了 HTTP/HTTPS 外,也會需要 SSH port 提供 git 連結。在這種狀況下,又因 DNS 只能讓兩個不同的 port 使用的同一個 IP,所以將會需要利用 Ingress Nginx 進行 TCP 服務的 proxy。 設定 Ingress 在設計上不支援 TCP/UDP 服務,因此 Ingress controller 會需要利用 –tcp-services-configmap 跟 […]
KubeVirt 架構介紹

前幾日在 Cloud Native Taiwan User Group 久違的講了一場 KubeVirt 101,越玩越覺得這個計畫還真有趣。在這裡打算把 KubeVirt 101 講的內容稍微濃縮一下,將重點放在架構的地方來寫一篇介紹。推坑大家來玩玩這個在 Kubernetes 上跑 VM workload 的 operator。 基本介紹 官網原文: KubeVirt is a virtual machine management add-on for Kubernetes. The aim is to provide a common ground for virtualization solutions on top of Kubernetes. 簡單來說 KubeVirt 是一個讓使用者能夠在 Kubernetes 上跑虛擬機應用的 Kubernetes operator,讓使用者可以跑一些還沒容器化或是需要特殊 kernel 的應用。最大的好處在於維運上所有概念都跟一般的 Kubernetes container […]