From Natural Language to K8s Operations: The MCP Architecture and Practice of kubectl-ai

blog cover

kubectl-ai is a revolutionary open-source project that seamlessly integrates Large Language Models (LLMs) with Kubernetes operations, enabling users to interact intelligently with K8s clusters using natural language. This article explores how this innovative technology addresses the pain points of traditional kubectl command complexity and significantly lowers the barrier to entry for Kubernetes users.

[Read More]

使用 Colima 快速打造 Kubernetes 開發環境

logo

在學習新的技術項目,最麻煩的就是如何快速安裝相關環境,讓團隊同仁可以快速上手的最關鍵的原因之一。而學習 Kubernetes 也不例外,如果要在本地環境中搭建 Kubernetes 開發環境,需要安裝 DockerKubernetesMinikubeKubectl 等相關工具,這些工具的安裝和配置過程都比較繁瑣,而且容易出錯。能不能有快速地繞過這些方式,快速在自己的電腦打造 Kubernetes 開發環境呢?除了 Minikube,你可能也聽過 k3skind 等工具,不過這些工具對於新人來說,還是相當困難。今天要介紹的是一個新的工具 Colima,它可以讓您在本地環境中運行輕量級的虛擬機器,並在虛擬機器中運行 Kubernetes 叢集。

[Read More]

如何產生開發者 kubeconfig 設定檔

logo

產生 kubeconfig 檔案需要準備底下資訊

1
2
3
4
5
6
export KUBECONFIG=<path-to-kubeconfig-file>
export CLUSTER_NAME=<cluster-name>
export SERVER_URL=<server-url>
export CA_CERT=<path-to-ca-certificate>
export TOKEN=<token>
export USERNAME=<username>

<path-to-kubeconfig-file> 替換為要生成的 kubeconfig 檔案的路徑和名稱,例如 ~/mykubeconfig。將 <cluster-name> 替換為你的叢集名稱, <server-url> 替換為你的 Kubernetes API 伺服器的 URL, <path-to-ca-certificate> 替換為你的 CA 憑證的路徑和名稱, <username> 替換為你的使用者名稱,<token> 替換為你的身份驗證令牌(Access Token),透過底下指令就可以完成了

[Read More]

在 Kubernetes 中列出 Service 下的所有 Pod

cover

Kubernetes (簡稱 k8s) 中,Service Endpoint(服務終端點)是一個抽象的概念,代表著一個服務的網絡位置。它是一個內部或外部的 IP 地址,可以用來訪問運行在 Kubernetes 集群中的應用程序服務。而如何在 Kubernetes 中列出 Service 下的所有 Pod 呢?這篇文章將會介紹如何使用 kubectl 來列出 Service 下的所有 Pod。

[Read More]

Drone 搭配 Kubernetes 部署 Go 語言項目

Screen Shot 2018-06-04 at 9.19.46 AM

在之前寫過一篇『Drone 搭配 Kubernetes 升級應用程式版本』,裡面內容最主要介紹 honestbee 撰寫的 drone 外掛: drone-kubernetes,但是此外掛並非用 Go 語言所撰寫,而是用 Shell Script 透過 kubectl set image 方式來更新專案項目,但是這邊會有幾個缺點,第一點就是假設在 Develop 環境永遠都是吃 master 分支,也就是讀取 Image 的 latest 標籤,這時候此外掛就無法作用,第二點此外掛無法讀取 kubernetes YAML 檔案,假設專案要修正一個 ENV 值,此外掛也無法及時更新。綜合這兩點因素,只好捨棄此外掛,而本篇會帶給大家另一個用 Go 語言所撰寫的外掛,是由 @Sh4d1 所開發的項目,用法相當容易,底下會一步一步教大家如何部署 Go 語言項目。

[Read More]

Drone 搭配 Kubernetes 升級應用程式版本

Screen Shot 2017-10-10 at 9.22.48 PM

本篇要教大家如何透過 Drone 搭配 Kubernetes 自動化升級 App container 版本。為什麼我只說升級 App 版本,而不是升級或調整 K8S Deployment 架構呢 (kubectl apply)?原因是本篇會圍繞在 honestbee 撰寫的 drone 外掛: drone-kubernetes,此外掛是透過 Shell Script 方式搭配 kubectl 指令來完成升級 App 版本,可以看到程式原始碼並無用到 kubectl apply 方式來升級,也並非用 Go 語言搭配 k8s API 所撰寫,所以無法使用 YAML 方式來進行 Deployment 的升級。本篇講解的範例都可以在 drone-nodejs-example 內找到。底下指令就是外掛用來搭配 Drone 參數所使用。

1
2
3
$ kubectl set image \
  deployment/nginx-deployment \
  nginx=nginx:1.9.1
[Read More]

用 Kubernetes 將 Drone CI/CD 架設在 AWS

Screen Shot 2017-09-24 at 12.53.39 AM

Drone 是我今年主推的 CI/CD 自架服務,詳細可以參考這篇文章,目前在公司內部團隊使用了一年以上,服務相當穩定。Drone 本身可以透過 docker-compose 方式快速在機器上架設完成,但是由於 Kubernetes 的盛行,大家也希望能透過 Kubernetes 來安裝 Drone 服務。本篇會教大家如何在 AWS 上透過 Kubernetes 安裝完成。Drone 預設使用 SQLite 當作資料庫,檔案會直接存放在 /var/lib/drone 路徑底下,但是容器內不支援寫入,所以必須要要額外掛上空間讓 Drone 可以寫入資料。此篇會以 GitHub 認證 + SQLite 來教學。

[Read More]