日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
創(chuàng)新互聯(lián)kubernetes教程:Kubernetes配置對多集群的訪問

配置對多集群的訪問

本文展示如何使用配置文件來配置對多個集群的訪問。 在將集群、用戶和上下文定義在一個或多個配置文件中之后,用戶可以使用 ?kubectl config use-context? 命令快速地在集群之間進行切換。

成都創(chuàng)新互聯(lián)2013年開創(chuàng)至今,先為北川羌族等服務建站,北川羌族等地企業(yè),進行企業(yè)商務咨詢服務。為北川羌族企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

說明:

用于配置集群訪問的文件有時被稱為 kubeconfig 文件。 這是一種引用配置文件的通用方式,并不意味著存在一個名為 ?
kubeconfig ?的文件。

警告: 只使用來源可靠的 kubeconfig 文件。使用特制的 kubeconfig 文件可能會導致惡意代碼執(zhí)行或文件暴露。 如果必須使用不受信任的 kubeconfig 文件,請首先像檢查 shell 腳本一樣仔細檢查它。

在開始之前

你必須擁有一個 Kubernetes 的集群,同時你的 Kubernetes 集群必須帶有 kubectl 命令行工具。 建議在至少有兩個節(jié)點的集群上運行本教程,且這些節(jié)點不作為控制平面主機。 如果你還沒有集群,你可以通過 Minikube 構建一個你自己的集群,或者你可以使用下面任意一個 Kubernetes 工具構建:

  • Katacoda
  • 玩轉 Kubernetes

要檢查 kubectl 是否安裝, 執(zhí)行 ?kubectl version --client? 命令。 kubectl 的版本應該與集群的 API 服務器 使用同一次版本號。

定義集群、用戶和上下文 

假設用戶有兩個集群,一個用于正式開發(fā)工作,一個用于其它臨時用途(scratch)。 在 ?development ?集群中,前端開發(fā)者在名為 ?frontend ?的名字空間下工作, 存儲開發(fā)者在名為 ?storage ?的名字空間下工作。在 ?scratch ?集群中, 開發(fā)人員可能在默認名字空間下工作,也可能視情況創(chuàng)建附加的名字空間。 訪問開發(fā)集群需要通過證書進行認證。 訪問其它臨時用途的集群需要通過用戶名和密碼進行認證。

創(chuàng)建名為 ?config-exercise? 的目錄。在 ?config-exercise? 目錄中,創(chuàng)建名為 ?config-demo? 的文件,其內容為:

apiVersion: v1
kind: Config
preferences: {}

clusters:
- cluster:
  name: development
- cluster:
  name: scratch

users:
- name: developer
- name: experimenter

contexts:
- context:
  name: dev-frontend
- context:
  name: dev-storage
- context:
  name: exp-scratch

配置文件描述了集群、用戶名和上下文。?config-demo? 文件中含有描述兩個集群、 兩個用戶和三個上下文的框架。

進入 ?config-exercise? 目錄。輸入以下命令,將集群詳細信息添加到配置文件中:

kubectl config --kubeconfig=config-demo set-cluster development --server=https://1.2.3.4 --certificate-authority=fake-ca-file
kubectl config --kubeconfig=config-demo set-cluster scratch --server=https://5.6.7.8 --insecure-skip-tls-verify

將用戶詳細信息添加到配置文件中:

kubectl config --kubeconfig=config-demo set-credentials developer --client-certificate=fake-cert-file --client-key=fake-key-seefile
kubectl config --kubeconfig=config-demo set-credentials experimenter --username=exp --password=some-password

說明:

要刪除用戶,可以運行 ?
kubectl --kubeconfig=config-demo config unset users.?

要刪除集群,可以運行 ?
kubectl --kubeconfig=config-demo config unset clusters.?

要刪除上下文,可以運行 ?
kubectl --kubeconfig=config-demo config unset contexts.?

將上下文詳細信息添加到配置文件中:

kubectl config --kubeconfig=config-demo set-context dev-frontend --cluster=development --namespace=frontend --user=developer
kubectl config --kubeconfig=config-demo set-context dev-storage --cluster=development --namespace=storage --user=developer
kubectl config --kubeconfig=config-demo set-context exp-scratch --cluster=scratch --namespace=default --user=experimenter

打開 ?config-demo? 文件查看添加的詳細信息。也可以使用 ?config view? 命令進行查看:

kubectl config --kubeconfig=config-demo view

輸出展示了兩個集群、兩個用戶和三個上下文:

apiVersion: v1
clusters:
- cluster:
    certificate-authority: fake-ca-file
    server: https://1.2.3.4
  name: development
- cluster:
    insecure-skip-tls-verify: true
    server: https://5.6.7.8
  name: scratch
contexts:
- context:
    cluster: development
    namespace: frontend
    user: developer
  name: dev-frontend
- context:
    cluster: development
    namespace: storage
    user: developer
  name: dev-storage
- context:
    cluster: scratch
    namespace: default
    user: experimenter
  name: exp-scratch
current-context: ""
kind: Config
preferences: {}
users:
- name: developer
  user:
    client-certificate: fake-cert-file
    client-key: fake-key-file
- name: experimenter
  user:
    password: some-password
    username: exp

其中的 ?fake-ca-file?、?fake-cert-file? 和 ?fake-key-file? 是證書文件路徑名的占位符。 你需要更改這些值,使之對應你的環(huán)境中證書文件的實際路徑名。

有時你可能希望在這里使用 BASE64 編碼的數(shù)據(jù)而不是一個個獨立的證書文件。 如果是這樣,你需要在鍵名上添加 ?-data? 后綴。例如, ?certificate-authority-data?、?client-certificate-data? 和 ?client-key-data?。

每個上下文包含三部分(集群、用戶和名字空間),例如, ?dev-frontend? 上下文表明:使用 ?developer ?用戶的憑證來訪問 ?development ?集群的 ?frontend ?名字空間。

設置當前上下文:

kubectl config --kubeconfig=config-demo use-context dev-frontend

現(xiàn)在當輸入 ?kubectl ?命令時,相應動作會應用于 ?dev-frontend? 上下文中所列的集群和名字空間, 同時,命令會使用 ?dev-frontend? 上下文中所列用戶的憑證。

使用 ?--minify? 參數(shù),來查看與當前上下文相關聯(lián)的配置信息。

kubectl config --kubeconfig=config-demo view --minify

輸出結果展示了 ?dev-frontend? 上下文相關的配置信息:

apiVersion: v1
clusters:
- cluster:
    certificate-authority: fake-ca-file
    server: https://1.2.3.4
  name: development
contexts:
- context:
    cluster: development
    namespace: frontend
    user: developer
  name: dev-frontend
current-context: dev-frontend
kind: Config
preferences: {}
users:
- name: developer
  user:
    client-certificate: fake-cert-file
    client-key: fake-key-file

現(xiàn)在假設用戶希望在其它臨時用途集群中工作一段時間。

將當前上下文更改為 ?exp-scratch?:

kubectl config --kubeconfig=config-demo use-context exp-scratch

現(xiàn)在你發(fā)出的所有 ?kubectl ?命令都將應用于 ?scratch ?集群的默認名字空間。 同時,命令會使用 ?exp-scratch? 上下文中所列用戶的憑證。

查看更新后的當前上下文 ?exp-scratch? 相關的配置:

kubectl config --kubeconfig=config-demo view --minify

最后,假設用戶希望在 ?development ?集群中的 ?storage ?名字空間下工作一段時間。

將當前上下文更改為 ?dev-storage?:

kubectl config --kubeconfig=config-demo use-context dev-storage

查看更新后的當前上下文 ?dev-storage? 相關的配置:

kubectl config --kubeconfig=config-demo view --minify

創(chuàng)建第二個配置文件 

在 ?config-exercise? 目錄中,創(chuàng)建名為 ?config-demo-2? 的文件,其中包含以下內容:

apiVersion: v1
kind: Config
preferences: {}

contexts:
- context:
    cluster: development
    namespace: ramp
    user: developer
  name: dev-ramp-up

上述配置文件定義了一個新的上下文,名為 ?dev-ramp-up?。

設置 KUBECONFIG 環(huán)境變量 

查看是否有名為 ?KUBECONFIG ?的環(huán)境變量。 如有,保存 ?KUBECONFIG ?環(huán)境變量當前的值,以便稍后恢復。 例如:

Linux 

export KUBECONFIG_SAVED="$KUBECONFIG"

Windows PowerShell 

$Env:KUBECONFIG_SAVED=$ENV:KUBECONFIG

?KUBECONFIG ?環(huán)境變量是配置文件路徑的列表,該列表在 Linux 和 Mac 中以冒號分隔, 在 Windows 中以分號分隔。 如果有 ?KUBECONFIG ?環(huán)境變量,請熟悉列表中的配置文件。

臨時添加兩條路徑到 ?KUBECONFIG ?環(huán)境變量中。例如:

Linux

export KUBECONFIG="${KUBECONFIG}:config-demo:config-demo-2"

Windows PowerShell

$Env:KUBECONFIG=("config-demo;config-demo-2")

在 ?config-exercise? 目錄中輸入以下命令:

kubectl config view

輸出展示了 ?KUBECONFIG ?環(huán)境變量中所列舉的所有文件合并后的信息。 特別地,注意合并信息中包含來自 ?config-demo-2? 文件的 ?dev-ramp-up? 上下文和來自 ?config-demo? 文件的三個上下文:

contexts:
- context:
    cluster: development
    namespace: frontend
    user: developer
  name: dev-frontend
- context:
    cluster: development
    namespace: ramp
    user: developer
  name: dev-ramp-up
- context:
    cluster: development
    namespace: storage
    user: developer
  name: dev-storage
- context:
    cluster: scratch
    namespace: default
    user: experimenter
  name: exp-scratch

探索 $HOME/.kube 目錄 

如果用戶已經擁有一個集群,可以使用 ?kubectl ?與集群進行交互, 那么很可能在 ?$HOME/.kube? 目錄下有一個名為 ?config ?的文件。

進入 ?$HOME/.kube? 目錄,看看那里有什么文件。通常會有一個名為 ?config ?的文件,目錄中可能還有其他配置文件。請簡單地熟悉這些文件的內容。

將 $HOME/.kube/config 追加到 KUBECONFIG 環(huán)境變量中 

如果有 ?$HOME/.kube/config? 文件,并且還未列在 ?KUBECONFIG ?環(huán)境變量中, 那么現(xiàn)在將它追加到 ?KUBECONFIG ?環(huán)境變量中。 例如:

Linux 

export KUBECONFIG="${KUBECONFIG}:$HOME/.kube/config"

Windows Powershell 

$Env:KUBECONFIG="$Env:KUBECONFIG;$HOME\.kube\config"

在配置練習目錄中輸入以下命令,查看當前 ?KUBECONFIG ?環(huán)境變量中列舉的所有文件合并后的配置信息:

kubectl config view

清理 

將 ?KUBECONFIG ?環(huán)境變量還原為原始值。例如:

Linux 

export KUBECONFIG="$KUBECONFIG_SAVED"

Windows PowerShell

$Env:KUBECONFIG=$ENV:KUBECONFIG_SAVED

當前文章:創(chuàng)新互聯(lián)kubernetes教程:Kubernetes配置對多集群的訪問
路徑分享:http://m.5511xx.com/article/cdoeggd.html