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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)kubernetes教程:Kubernetes訪問集群上運(yùn)行的服務(wù)

訪問集群上運(yùn)行的服務(wù)

本文展示了如何連接 Kubernetes 集群上運(yùn)行的服務(wù)。

肅寧網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司于2013年開始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。

在開始之前

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

  • Katacoda
  • 玩轉(zhuǎn) Kubernetes

要獲知版本信息,請(qǐng)輸入 ?kubectl version?。

訪問集群上運(yùn)行的服務(wù)

在 Kubernetes 里,節(jié)點(diǎn)、 Pod 和 服務(wù) 都有自己的 IP。 許多情況下,集群上的節(jié)點(diǎn) IP、Pod IP 和某些服務(wù) IP 是路由不可達(dá)的, 所以不能從集群之外訪問它們,例如從你自己的臺(tái)式機(jī)。

連接方式 

你有多種可選方式從集群外連接節(jié)點(diǎn)、Pod 和服務(wù):

  • 通過公網(wǎng) IP 訪問服務(wù)
    • 使用類型為 ?NodePort ?或 ?LoadBalancer ?的服務(wù),可以從外部訪問它們。
    • 取決于你的集群環(huán)境,你可以僅把服務(wù)暴露在你的企業(yè)網(wǎng)絡(luò)環(huán)境中,也可以將其暴露在 因特網(wǎng)上。需要考慮暴露的服務(wù)是否安全,它是否有自己的用戶認(rèn)證?
    • 將 Pod 放置于服務(wù)背后。如果要訪問一個(gè)副本集合中特定的 Pod,例如用于調(diào)試目的, 請(qǐng)給 Pod 指定一個(gè)獨(dú)特的標(biāo)簽并創(chuàng)建一個(gè)新服務(wù)選擇該標(biāo)簽。
    • 大部分情況下,都不需要應(yīng)用開發(fā)者通過節(jié)點(diǎn) IP 直接訪問節(jié)點(diǎn)。
  • 通過 Proxy 動(dòng)詞訪問服務(wù)、節(jié)點(diǎn)或者 Pod
    • 在訪問遠(yuǎn)程服務(wù)之前,利用 API 服務(wù)器執(zhí)行身份認(rèn)證和鑒權(quán)。 如果你的服務(wù)不夠安全,無法暴露到因特網(wǎng)中,或者需要訪問節(jié)點(diǎn) IP 上的端口, 又或者出于調(diào)試目的,可使用這種方式。
    • 代理可能給某些應(yīng)用帶來麻煩
    • 此方式僅適用于 HTTP/HTTPS
    • 從集群中的 node 或者 pod 訪問。
  • 從集群中的一個(gè)節(jié)點(diǎn)或 Pod 訪問
    • 運(yùn)行一個(gè) Pod,然后使用 kubectl exec 連接到它的 Shell。從那個(gè) Shell 連接其他的節(jié)點(diǎn)、Pod 和 服務(wù)
    • 某些集群可能允許你 SSH 到集群中的節(jié)點(diǎn)。你可能可以從那兒訪問集群服務(wù)。 這是一個(gè)非標(biāo)準(zhǔn)的方式,可能在一些集群上能工作,但在另一些上卻不能。 瀏覽器和其他工具可能已經(jīng)安裝也可能沒有安裝。集群 DNS 可能不會(huì)正常工作。

發(fā)現(xiàn)內(nèi)置服務(wù) 

典型情況下,kube-system 名字空間中會(huì)啟動(dòng)集群的幾個(gè)服務(wù)。 使用 ?kubectl cluster-info? 命令獲取這些服務(wù)的列表:

kubectl cluster-info

輸出類似于:

Kubernetes master is running at https://192.0.2.1
elasticsearch-logging is running at https://192.0.2.1/api/v1/namespaces/kube-system/services/elasticsearch-logging/proxy
kibana-logging is running at https://192.0.2.1/api/v1/namespaces/kube-system/services/kibana-logging/proxy
kube-dns is running at https://192.0.2.1/api/v1/namespaces/kube-system/services/kube-dns/proxy
grafana is running at https://192.0.2.1/api/v1/namespaces/kube-system/services/monitoring-grafana/proxy
heapster is running at https://192.0.2.1/api/v1/namespaces/kube-system/services/monitoring-heapster/proxy

這一輸出顯示了用 proxy 動(dòng)詞訪問每個(gè)服務(wù)時(shí)可用的 URL。例如,此集群 (使用 Elasticsearch)啟用了集群層面的日志。如果提供合適的憑據(jù),可以通過 ?https://192.0.2.1/api/v1/namespaces/kube-system/services/elasticsearch-logging/proxy/? 訪問,或通過一個(gè) ?kubectl proxy? 來訪問: ?http://localhost:8080/api/v1/namespaces/kube-system/services/elasticsearch-logging/proxy/?。

手動(dòng)構(gòu)建 API 服務(wù)器代理 URLs

如前所述,你可以使用 ?kubectl cluster-info? 命令取得服務(wù)的代理 URL。 為了創(chuàng)建包含服務(wù)末端、后綴和參數(shù)的代理 URLs,你可以在服務(wù)的代理 URL 中添加: ?http://kubernetes_master_address/api/v1/namespaces/namespace_name/services/service_name[:port_name]/proxy ?

如果還沒有為你的端口指定名稱,你可以不用在 URL 中指定 port_name。 對(duì)于命名和未命名端口,你還可以使用端口號(hào)代替 port_name。

默認(rèn)情況下,API 服務(wù)器使用 HTTP 為你的服務(wù)提供代理。 要使用 HTTPS,請(qǐng)?jiān)诜?wù)名稱前加上 ?https:?: ?http:///api/v1/namespaces//services//proxy? URL 的 ?? 段支持的格式為:

  • ?? - 使用 http 代理到默認(rèn)或未命名端口
  • ?:? - 使用 http 代理到指定的端口名稱或端口號(hào)
  • ?https::? - 使用 https 代理到默認(rèn)或未命名端口(注意尾隨冒號(hào))
  • ?https::? - 使用 https 代理到指定的端口名稱或端口號(hào)
示例 
  • 如要訪問 Elasticsearch 服務(wù)末端 ?_search?q=user:kimchy?,你可以使用:
  • http://192.0.2.1/api/v1/namespaces/kube-system/services/elasticsearch-logging/proxy/_search?q=user:kimchy
    
  • 如要訪問 Elasticsearch 集群健康信息?_cluster/health?pretty=true?,你會(huì)使用:
  • https://192.0.2.1/api/v1/namespaces/kube-system/services/elasticsearch-logging/proxy/_cluster/health?pretty=true
    

    健康信息與下面的例子類似:

    {
      "cluster_name" : "kubernetes_logging",
      "status" : "yellow",
      "timed_out" : false,
      "number_of_nodes" : 1,
      "number_of_data_nodes" : 1,
      "active_primary_shards" : 5,
      "active_shards" : 5,
      "relocating_shards" : 0,
      "initializing_shards" : 0,
      "unassigned_shards" : 5
    }
  • 要訪問 https Elasticsearch 服務(wù)健康信息 ?_cluster/health?pretty=true?,你會(huì)使用:
  • https://192.0.2.1/api/v1/namespaces/kube-system/services/https:elasticsearch-logging:/proxy/_cluster/health?pretty=true
    

通過 Web 瀏覽器訪問集群中運(yùn)行的服務(wù) 

你或許能夠?qū)?nbsp;API 服務(wù)器代理的 URL 放入瀏覽器的地址欄,然而:

  • Web 服務(wù)器通常不能傳遞令牌,所以你可能需要使用基本(密碼)認(rèn)證。 API 服務(wù)器可以配置為接受基本認(rèn)證,但你的集群可能并沒有這樣配置。
  • 某些 Web 應(yīng)用可能無法工作,特別是那些使用客戶端 Javascript 構(gòu)造 URL 的 應(yīng)用,所構(gòu)造的 URL 可能并不支持代理路徑前綴。


名稱欄目:創(chuàng)新互聯(lián)kubernetes教程:Kubernetes訪問集群上運(yùn)行的服務(wù)
文章源于:http://www.5511xx.com/article/ccosshs.html