簡介: 主要原因是,我不會 vim ,在 linux 上修改 charts 的很蹩腳,所以就想著能不能再 windows 上執行 helm 命令,將 charts install linux 上搭建的 kubernetes 集群上,答案當然是可以的。本文將告訴大家怎麼在 windows 上執行 he ...
簡介:
主要原因是,我不會 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
- 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: ""
出現下圖所示,就說明初始化完成了
安裝 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
通過 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: deployedNOTES:
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。希望可以幫助到你。
- 點擊查看我的Github
- 點擊查看我的個人Blog
- 日拱一卒,不期速成