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 叢集


本文章已被棄用,請不要參考。
(This post is being deprecated. Don’t refer it.)

本篇延續先前 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

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


本文章已被棄用,請不要參考。
(This post is being deprecated. Don’t refer it.)

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

Read More

Share Comments

[Kubeflow] 初探基本功能與概念

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

Read More

Share Comments

安裝 NVIDIA Docker 2 來讓容器使用 GPU

本篇主要介紹如何使用 NVIDIA Docker v2 來讓容器使用 GPU,過去 NVIDIA Docker v1 需要使用 nvidia-docker 來取代 Docker 執行 GPU image,或是透過手動掛載 NVIDIA driver 與 CUDA 來使 Docker 能夠編譯與執行 GPU 應用程式,而新版本的 Docker 則可以透過 –runtime 來選擇使用 NVIDIA Docker v2 的 Runtime 來執行 GPU 應用程式。

Read More

Share Comments

Ceph Luminous CRUSH map 400000000000000 問題

在 Ceph Luminous(v12) 版本中,預設開啟了一些 Kernel 特性,其中首先遇到的一般是 400000000000000 問題,即CEPH_FEATURE_NEW_OSDOPREPLY_ENCODING特性(可以從對照表得知CEPH_FEATURE Table and Kernel Version),剛問題需要在 Kernel 4.5+ 才能夠被支援,但如果不想升級可以依據本篇方式解決。

Read More

Share Comments