Windows 使用 helm3 和 kubectl

簡介:

主要原因是,我不會 vim ,在 linux 上修改 charts 的很蹩腳,所以就想着能不能再 windows 上執行 helm 命令,將 charts install linux 上搭建的 kubernetes 集羣上,答案當然是可以的。本文將告訴大家怎麼在 windows 上執行 helm 命令和 kubectl 命令,本文的先決條件是需要有一個 kubernetes 集羣環境,如果沒有請自行部署。

本文環境

  • kubernetes 1.15
  • helm 3 alpha.2
  • kubectl

Helm 3 是什麼?

helm 是 kubernetes 官方的包管理工具, 通過 helm 將發佈在 kubenetes 環境的多個 yaml 以軟件包(charts)的形式打包,簡化了 kubernetes 集羣環境中應用的部署及更新,helm 支持應用的部署,升級,回滾等操作。helm 3 是針對於 helm 來說的升級版,做了一個功能上的調整,以其 github 發佈的版本號命名,目前最新的版本爲 Helm v3.0.0-alpha.2。個人認爲helm 必定會成爲未來 CICD 鏈中的關鍵一環。

kubectl 是什麼?

熟悉 kubernetes 的同學肯定非常熟悉 kubectl ,甚至於每天都會使用到。kubectl是用於針對Kubernetes集羣運行命令的命令行接口。

調教經歷

簡單的瞭解的 helm 和 kubectl 之後,我們開始實現在 windows 上執行 helm 命令。

安裝helm3

1.下載 helm3 windows 安裝包,解壓之後,你會看到有個 windows-amd64 的文件夾,其中有個 helm.exe 的可執行文件,我將這個文件夾直接放在了 C:\windows-amd64

2.設置 path

1564151212023

1564151483086

1564151916623

  1. helm init

打開 CMD,進行 helm 的初始化操作, 如果你如法訪問 google 的 stable 倉庫 ,將以下內容保存到$HOME\helm\repository\repositories.yaml 文件中。

apiVersion: v1
generated: "2019-07-23T09:39:54.849920932 08:00"
repositories:
- caFile: ""
  cache: C:\Users\innerpeacez\.helm\repository\cache\stable-index.yaml
  certFile: ""
  keyFile: ""
  name: stable
  password: ""
  url: https://kubernetes-charts.storage.googleapis.com
  username: ""

出現下圖所示,就說明初始化完成了

1564152036983

安裝 kubectl

1.下載 kubectl windows 安裝包

2.設置path

這裏爲了方便,我將 kubectl.exe 文件和 helm.exe 文件放在了同一個目錄,就不用設置兩次path了

3.配置 kubernetes config 文件,這個文件是你在 linux 服務器上使用 kubectl 與kubernetes 交互的配置文件,我們只要在 linux 上找到 $HOME/.kube/config 文件,將其複製到windows 的$HOME/.kube/config ,即可,我的位置是 C:\Users\innerpeacez\.kube\config

4.測試 kubectl

1564213477567

通過 helm 部署應用到 kubernetes 中

配置好 helm 和 kuberctl 之後,我們還需要給helm 設置 conext ,因爲 helm 3,的訪問 k8s 集羣權限是與 我們在 kubeconfig 設置的權限是一致的

查看當前 context

kubectl config current-context

設置 context 指定我們需要部署應用對應的 namespace ,不指定使用的是 default

kubectl config set-context <current-context> --namespace test

部署應用

helm -n test install promethues .\prometheus\

出現以下內容就說明應用已經開始部署了

NAME: promethues
LAST DEPLOYED: 2019-07-27 15:53:30.4257149 0800 CST m= 0.775545401
NAMESPACE: test
STATUS: deployed

NOTES:
The Prometheus server can be accessed via port 80 on the following DNS name from within your cluster:

總結

本文主要講述了 windows 中我們怎麼通過 helm 與 kubernetes 進行交互,寫這篇文章是因爲目前網上大部分介紹 windows 上使用 k8s 的都是在 windows 上使用 minikube 來玩的,還有就是爲了方便調試 charts。希望可以幫助到你。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章