telepresence2主要解決的問題幫助開發人員對kubernetes進行偵錯以及問題分析;開發人員無需再將本地開發運行到Kubernetes內部;可以提高團隊間的實時協作,以及對環境創建進行預
2021-06-22 18:48:50
telepresence能夠將本地的開發程式插入到kubernetes叢集內部,使得程式的環境看起來像在pod內部;並且在本地開發過程中,可以使用k8s內部所有的網路服務以及DNS名稱;
在使用telepresence後,其會在叢集內部創建一個小型代理,路由流量會在一個安全網路隧道之間來回;
在kubernetes內部可以使用命令檢視到代理名稱;
[root@k8s-master-0 ~]# kubectl get nsNAME STATUS AGEambassador Active 30d[root@k8s-master-0 ~]# kubectl get all -n ambassadorNAME READY STATUS RESTARTS AGEpod/traffic-manager-85cb46d955-nhlfr 1/1 Running 0 26hNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEservice/traffic-manager ClusterIP None <none> 8022/TCP,8081/TCP 26h1NAME READY UP-TO-DATE AVAILABLE AGEdeployment.apps/traffic-manager 1/1 1 1 26hNAME DESIRED CURRENT READY AGEreplicaset.apps/traffic-manager-85cb46d955 1 1 1 26h
PS:可以自行檢視官方文件
從github上可以下載最新版,目前使用的最新版為:2.2.2
# 解壓tar -zxvf telepresence-2.2.2.tar.gzcd telepresence-2.2.2# 設定環境變數export TELEPRESENCE_VERSION=v2.2.2make build mv ./telepresence $GOBIN/telepresence
telepresence需要往叢集內部安裝代理,所以在開發及其上需要安裝kubectl;
安裝完成後,從kubenetes叢集內拷貝配置檔案;
scp -r root@10.222.222.11:/root/.kube/config /root/.kube/config# 執行kubectl kubectl get pod
在叢集內部創建測試pod:
# 創建deploykubectl create deploy hello --image=luksa/kubia# 暴露服務kubectl expose deploy hello --port 80 --target-port 8080
telepresence2的命令包括:
Available Commands: Session Commands: connect 連線叢集 login 登入Ambassador Cloud #無需用到 logout 退出Ambassador Cloud #無需用到 license 獲取版本資訊Ambassador Cloud#無需用到 status 檢視連線狀態 quit 退出 Traffic Commands: list 列舉當前可以攔截的服務 intercept 攔截一個服務 leave 退出攔截服務 preview Other Commands: version 檢視版本 uninstall 解除安裝叢集中的代理插件 dashboard 開啟一個dashboard(需要聯網) current-cluster-id
連線叢集
telepresence connectLaunching Telepresence Daemon v2.3.2 (api v3)Connecting to traffic manager...Connected to context kubernetes-admin@kubernetes (https://<clusterip>:6443)
檢視連線狀態
# telepresence statusRoot Daemon: Running Version : v2.3.2 (api 3) DNS : ""User Daemon: Running Version : v2.3.2 (api 3) Ambassador Cloud : Logged out Status : Connected Kubernetes server : https://cluster-ip:6443 Kubernetes context: kubernetes-admin@kubernetes Telepresence proxy: ON (networking to the cluster is enabled) Intercepts : 0 total
檢視當前可以攔截服務
# telepresence list --namespace defaultnginx-demo: ready to intercept (traffic-agent not yet installed)
tips: --namespace可以指定k8s的名稱空間;
其預設是根據kubectl的配置進行展示的;
訪問叢集內部的服務
[root@localhost bin]# curl hello.platform/You've hit hello-66cff46dc-khm9q
在本機攔截服務
【存在問題,後續更新】
telepresence: error: connector.Connect: the traffic manager gRPC API timed out. The current timeout 15s can be configured as "timeouts.trafficManagerAPI" in "/root/.config/telepresence/config.yml"rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /tmp/telepresence-connector.socket: connect: connection refused"
通過檢視訊息可知,請求代理的API超時,可以通過提示修改超時時間;
[root@localhost telepresence-2.2.2]# curl http://hello.platformcurl: (56) Recv failure: Connection reset by peer
可檢視svc資源是否運行正確;
作者:TangLyan
連結:https://juejin.cn/post/6976246800566976549
來源:掘金
相關文章
telepresence2主要解決的問題幫助開發人員對kubernetes進行偵錯以及問題分析;開發人員無需再將本地開發運行到Kubernetes內部;可以提高團隊間的實時協作,以及對環境創建進行預
2021-06-22 18:48:50
相機還能玩出什麼花樣?平時偏嚴肅的拍照使用相機,日常看到有意思的畫面就用手機存下,也嘗試過一些運動全景相機,不過大都針對錄影進行優化,對於全景拍照的優化甚少。日常用手機的
2021-06-22 18:48:05
6月22日,哪吒汽車在其北京設計中心舉行「創」媒體溝通會,會後,哪吒汽車聯合創始人、CEO張勇向自稱哪鐵的哪吒汽車車主和使用者發表了一篇公開信:致哪鐵們:我是哪吒汽車張勇,今天,寫
2021-06-22 18:47:49
機器之心釋出機器之心編輯部在本文中,嬴徹科技首席技術官(CTO)楊睿剛博士就被本屆大會被收錄的 5 篇論文為大家帶來解讀。一年一度的 CVPR 2021 正如火如荼地在線上舉行,來自全
2021-06-22 18:47:32
脫離華為之後,榮耀開始在獨行路上加速前進。日前,榮耀召開榮耀50系列新品釋出會,為消費者帶來了三款手機產品,以及一個好訊息。榮耀CEO趙明透露,截至5月底,榮耀在國內的市場份額,已
2021-06-22 18:46:44
就在最近,聯想發售了搭載 Intel 11 代 H45 移動端處理器的遊戲本拯救者 Y9000P 2021 系列,Y9000P 2021 與之前IT之家評測過的 R9000P 2021 基本相同,差別基本只在處理器、雷電
2021-06-22 18:46:07