Kubernetes exec API 串接分析

本篇將說明 Kubernetes exec API 的運作方式,並以簡單範例進行開發在前後端上。雖然 Kubernetes 提供了不同資源的 RESTful API 來進行 CRUD 操作,但是部分 API 並非單純的回傳一個資料,有些是需要透過 SPDY 或 WebSocket 建立長連線串流,這種 API 以 exec、attach 為主,目標是對一個 Pod 執行指定指令,或者進入該 Pod 進行互動等等。

Read More

Share Comments

Prometheus Operator 介紹與安裝

Prometheus Operator 是 CoreOS 開源的一套用於管理在 Kubernetes 上的 Prometheus 控制器,目標當然就是簡化部署與維護 Prometheus 上的事情,其架構如下所示:

Read More

Share Comments

Prometheus 介紹與基礎入門

Prometheus 是一套開放式原始碼的系統監控警報框架TSDB(Time Series Database),該專案是由 SoundCloud 的工程師(前 Google 工程師)建立,Prometheus 啟發於 Google 的 Borgmon 監控系統。目前 Prometheus 已貢獻到 CNCF 成為孵化專案(2016-),其受歡迎程度僅次於 Kubernetes。

Read More

Share Comments

以 Keystone 作為 Kubernetes 使用者認證

本文章將說明如何整合 Keystone 來提供給 Kubernetes 進行使用者認證。但由於 Keystone 整合 Kubernetes 認證在 1.10.x 版本已從原生移除(--experimental-keystone-url, --experimental-keystone-ca-file),並轉而使用 cloud-provider-openstack 中的 Webhook 來達成,而篇將說明如何建置與設定以整合該 Webhook。

Read More

Share Comments

在 AWS 上建立跨地區的 Kubernetes Federation 叢集

本篇延續先前 On-premises Federation 與 Kops 經驗來嘗試在 AWS 上建立 Federaion 叢集,這邊架構如下圖所示:

Read More

Share Comments

使用 Kops 部署 Kubernetes 至公有雲(AWS)

Kops 是 Kubernetes 官方維護的專案,是一套 Production ready 的 Kubernetes 部署、升級與管理工具,早期用於 AWS 公有雲上建置 Kubernetes 叢集使用,但隨著社群的推進已支援 GCP、vSphere(Alpha),未來也會有更多公有雲平台慢慢被支援(Maybe)。本篇簡單撰寫使用 Kops 部署一個叢集,過去自己因為公司都是屬於建置 On-premises 的 Kubernetes,因此很少使用 Kops,剛好最近社群分享又再一次接觸的關析,所以就來寫個文章。

本次安裝的軟體版本:

  • Kubernetes v1.9.3
  • Kops v1.9.0

Read More

Share Comments

整合 Open LDAP 進行 Kubernetes 身份認證

本文將說明如何整合 OpenLDAP 來提供給 Kubernetes 進行使用者認證。Kubernetes 官方並沒有提供針對 LDAP 與 AD 的整合,但是可以藉由 Webhook Token Authentication 以及 Authenticating Proxy 來達到整合功能。概念是開發一個 HTTP Server 提供 POST Method 來塞入 Bearer Token,而該 HTTP Server 利用 LDAP library 檢索對應 Token 的 User 進行認證,成功後回傳該 User 的所有 Group 等資訊,而這時可以利用 Kubernetes 針對該 User 的 Group 設定對應的 RBAC role 進行權限控管。

Read More

Share Comments

Kubernetes v1.10.x HA 全手動苦工安裝教學(TL;DR)

本篇延續過往手動安裝方式來部署 Kubernetes v1.10.x 版本的 High Availability 叢集,主要目的是學習 Kubernetes 安裝的一些元件關析與流程。若不想這麼累的話,可以參考 Picking the Right Solution 來選擇自己最喜歡的方式。

本次安裝的軟體版本:

  • Kubernetes v1.10.0
  • CNI v0.6.0
  • Etcd v3.1.13
  • Calico v3.0.4
  • Docker CE latest version

Read More

Share Comments

使用 kubefed 建立 Kubernetes Federation(On-premises)

Kubernetes Federation(聯邦) 是實現跨地區與跨服務商多個 Kubernetes 叢集的管理機制。Kubernetes Federation 的架構非常類似純 Kubenretes 叢集,Federation 會擁有自己的 API Server 與 Controller Manager 來提供一個標準的 Kubernetes API,以及管理聯邦叢集,並利用 Etcd 來儲存所有狀態,不過差異在於 Kubenretes 只管理多個節點,而 Federation 是管理所有被註冊的 Kubernetes 叢集。

Read More

Share Comments

利用 Kubeflow 來管理 TensorFlow 應用程式

Kubeflow 是 Google 開源的機器學習工具,目標是簡化在 Kubernetes 上運行機器學習的過程,使之更簡單、可攜帶與可擴展。Kubeflow 目標不是在於重建其他服務,而是提供一個最佳開發系統來部署到各種基礎設施架構中,另外由於使用 Kubernetes 來做為基礎,因此只要有 Kubernetes 的地方,都能夠執行 Kubeflow。

Read More

Share Comments