k8s 中 生產 測試 環境隔離問題

2022-09-23 07:56:58 字數 860 閱讀 9933

需求:

一個組織內部,不同的工作組可以在同一個k8s叢集中工作,k8s通過名稱空間和context的設定來對不通的工作組進行分割槽,使得他們即可共享同一個k8s叢集的服務,也能夠互不影響;

開發組namespace:dev

可以建立、修改、刪除各種pod\dp\svc

生產組namespace:prod

不可以隨意修改、刪除各種pod\dp\svc

1、建立namespace

cat >namespace-dev.yamlnamespace-prod.yamlkubectl create -f namespace-prod.yaml

2、定義comtext(執行環境)

kubectl config set-cluster kubernetes-cluster --server=

kubectl config set-context ctx-dev --namespace=development --cluster=kubernetes-cluster --user=dev

kubectl config set-context ctx-prod --namespace=production --cluster=kubernetes-cluster --user=prod

檢視已經定義成功的context

kubectl config view

也可以在$/.kube 目錄下檢視config的檔案內容

3、設定工作組在特定context 環境下工作

kubectl config use-context ctx-dev #設定後,當前環境即為開發組所需環境

kubectl config use-context ctx-prod #切換到運維組所需環境

k8s中引入外部服務

簡單記錄下k8s中如何使用外部有狀態服務,如mysql。 在工作中,總會遇到這種情況 k8s環境中跑著各種程式介面,有狀態服務如mysql,部署在物理機上,那麼如果此時,程式介面需要訪問資料庫,一般有如下幾種方式 yml檔案內容如下 service和endpoint名字要相同,屬於同一個名稱空間 c...

實際專案中嘗試K8S藍綠部署

我們有一個前端使用 angular 的專案,採用 kubenetes 預設部署方式 rolling updates 釋出時,在更新 pod...