日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)kubernetes教程:Kubernetes 定義相互依賴的環(huán)境變量

定義相互依賴的環(huán)境變量

本頁(yè)展示了如何為 Kubernetes Pod 中的容器定義相互依賴的環(huán)境變量。

創(chuàng)新互聯(lián)是專業(yè)的普安網(wǎng)站建設(shè)公司,普安接單;提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行普安網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

在開(kāi)始之前

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

  • Katacoda
  • 玩轉(zhuǎn) Kubernetes

為容器定義相互依賴的環(huán)境變量 

當(dāng)創(chuàng)建一個(gè) Pod 時(shí),你可以為運(yùn)行在 Pod 中的容器設(shè)置相互依賴的環(huán)境變量。 設(shè)置相互依賴的環(huán)境變量,你就可以在配置清單文件的 ?env ?的 ?value ?中使用 $(VAR_NAME)。

在本練習(xí)中,你會(huì)創(chuàng)建一個(gè)單容器的 Pod。 此 Pod 的配置文件定義了一個(gè)已定義常用用法的相互依賴的環(huán)境變量。 下面是 Pod 的配置清單:

apiVersion: v1
kind: Pod
metadata:
  name: dependent-envars-demo
spec:
  containers:
    - name: dependent-envars-demo
      args:
        - while true; do echo -en '\n'; printf UNCHANGED_REFERENCE=$UNCHANGED_REFERENCE'\n'; printf SERVICE_ADDRESS=$SERVICE_ADDRESS'\n';printf ESCAPED_REFERENCE=$ESCAPED_REFERENCE'\n'; sleep 30; done;
      command:
        - sh
        - -c
      image: busybox:1.28
      env:
        - name: SERVICE_PORT
          value: "80"
        - name: SERVICE_IP
          value: "172.17.0.1"
        - name: UNCHANGED_REFERENCE
          value: "$(PROTOCOL)://$(SERVICE_IP):$(SERVICE_PORT)"
        - name: PROTOCOL
          value: "https"
        - name: SERVICE_ADDRESS
          value: "$(PROTOCOL)://$(SERVICE_IP):$(SERVICE_PORT)"
        - name: ESCAPED_REFERENCE
          value: "$(PROTOCOL)://$(SERVICE_IP):$(SERVICE_PORT)"
  1. 依據(jù)清單創(chuàng)建 Pod:
  2. kubectl apply -f https://K8S.io/examples/pods/inject/dependent-envars.yaml
    pod/dependent-envars-demo created
    
  3. 列出運(yùn)行的 Pod:
    kubectl get pods dependent-envars-demo
    NAME                      READY     STATUS    RESTARTS   AGE
    dependent-envars-demo     1/1       Running   0          9s
  4. 檢查 Pod 中運(yùn)行容器的日志:
    kubectl logs pod/dependent-envars-demo
    UNCHANGED_REFERENCE=$(PROTOCOL)://172.17.0.1:80
    SERVICE_ADDRESS=https://172.17.0.1:80
    ESCAPED_REFERENCE=$(PROTOCOL)://172.17.0.1:80

如上所示,你已經(jīng)定義了 ?SERVICE_ADDRESS ?的正確依賴引用, ?UNCHANGED_REFERENCE ?的錯(cuò)誤依賴引用, 并跳過(guò)了 ?ESCAPED_REFERENCE ?的依賴引用。

如果環(huán)境變量被引用時(shí)已事先定義,則引用可以正確解析, 比如 ?SERVICE_ADDRESS ?的例子。

當(dāng)環(huán)境變量未定義或僅包含部分變量時(shí),未定義的變量會(huì)被當(dāng)做普通字符串對(duì)待, 比如 ?UNCHANGED_REFERENCE ?的例子。 注意,解析不正確的環(huán)境變量通常不會(huì)阻止容器啟動(dòng)。

?$(VAR_NAME)? 這樣的語(yǔ)法可以用兩個(gè) ?$? 轉(zhuǎn)義,既:?$$(VAR_NAME)?。 無(wú)論引用的變量是否定義,轉(zhuǎn)義的引用永遠(yuǎn)不會(huì)展開(kāi)。 這一點(diǎn)可以從上面 ?ESCAPED_REFERENCE ?的例子得到印證。


標(biāo)題名稱:創(chuàng)新互聯(lián)kubernetes教程:Kubernetes 定義相互依賴的環(huán)境變量
轉(zhuǎn)載來(lái)源:http://www.dlmjj.cn/article/dpgeisj.html