最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

k8s在go語言中的使用及client?初始化簡介

 更新時間:2022年04月22日 12:45:35   作者:zziawan  
這篇文章主要為大家介紹了k8s在go語言中的使用及client?初始化簡介,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

作為k8s官方維護的客戶端,k8s go-client對于go語言中使用k8s可以說是唯一選項。但是官方的使用示例我個人覺得并不是很清晰,尤其是對于對于k8s并不熟悉的用戶。這里我總結(jié)一下使用過程中碰到的坑,也希望能給有需要的人一些參考。

首先從官方示例說起:這里先解釋一下k8s連接問題。集群的節(jié)點上會有一個.kube目錄(這個目錄一般在root用戶home目錄下)目錄中會存在一個config文件,文件中記錄了連接k8s集群所需的所有信息,如apiserver地址,用戶認證token等。一般來說客戶端連接集群均需要此配置文件。一下就是官方示例代碼。

var kubeconfig *string
    //配置了config目錄就讀取該目錄下的config信息
    if home := homedir.HomeDir(); home != "" {
        kubeconfig = flag.String("kubeconfig", filepath.Join(home, ".kube", "config"), "(optional) absolute path to the kubeconfig file")
    } else {
        //否則就需要指定配置文件路徑
        kubeconfig = flag.String("kubeconfig", "", "absolute path to the kubeconfig file")
    }
    flag.Parse()
    config, err := clientcmd.BuildConfigFromFlags("", *kubeconfig)
    if err != nil {
        panic(err)
    }
    clientset, err := kubernetes.NewForConfig(config)
    if err != nil {
        panic(err)
    }

可以看到初始化go-client必須要指定config文件。但是實際使用中往往沒有這里理想化,比如我們的代碼運行在集群外,再比如我們的代碼連接的client需要在不同集群上來回切換,更甚者我們需要連接的集群會隨時改變,集群數(shù)量改變,集群的連接信息改變??傊芏嗲闆r下無法直接從集群獲取到config文件,也無法使用固定的config文件。

總體上來說,使用場景包括集群內(nèi)和集群外訪問,同時也可以分為固定訪問和動態(tài)訪問。對于集群內(nèi)且集群的配置是固定的,使用起來還是相當簡單。

1、集群內(nèi)且集群配置固定,以進程方式運行,即代碼編譯后直接以進程的方式運行在集群的某個節(jié)點上且只會訪問本地或外部固定集群。這種情況下,本地集群config文件路徑是固定的,外部集群可以提前把config文件放到本地,使用示例代碼的配置方式即可

2、集群內(nèi)且集群配置固定,以pod方式運行。對于本地集群,雖然pod就跑在集群中,但是容器的因為隔離性,無法獲取集群的配置信息。此時可以通過默認配置跟k8s RBAC進行本地集群訪問,即使用pod中的默認apiserver地址和端口環(huán)境變量(可以直接使用go-client的默認config rest.InclusterConfig)連接集群,同時給pod配置集群的admin角色即可。也可以將.kube目錄掛載到pod上,通過讀取該目錄中的配置文件初始化客戶端。訪問外部集群跟1中的方式無太大差別。

3、需要訪問的集群不固定(集群數(shù)量隨時增減,集群認證信息會過期),這種情況下無論是否運行在容器中都不太好使用官方的示例代碼來連接集群。此種情況下需要一個能夠獲取集群認證信息(token,user password等)的地方。有了這些信息代碼中就可以手動新建config,通過這個config來初始化集群,同時在認證信息失效后及時重新初始化

手動指定apiserver地址,這里地址可以是url也可以主機加端口   

kubeconfig,er := clientcmd.BuildConfigFromFlags(apiUrl,"")

配置認證信息,token或者用戶名加密碼或者其他認證方式

kubeconfig.BearerToken = token

初始化client

clientset, err := kubernetes.NewFo,rConfig(kubeconfig)

當發(fā)生變動或者認證信息失效時,客戶端或報相應(yīng)的權(quán)限錯誤,即可重新獲取認證信息,重新初始化。這樣可以保證不重啟程序,不手動修改配置的情況下適應(yīng)集群變動

以上就是k8s在go語言中的使用及client 初始化簡介的詳細內(nèi)容,更多關(guān)于k8s go client初始化的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • go語言反射的基礎(chǔ)教程示例

    go語言反射的基礎(chǔ)教程示例

    這篇文章主要為大家介紹了go語言反射的基礎(chǔ)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • 詳解Golang中Context的三個常見應(yīng)用場景

    詳解Golang中Context的三個常見應(yīng)用場景

    Golang?context主要用于定義超時取消,取消后續(xù)操作,在不同操作中傳遞值。本文通過簡單易懂的示例進行說明,感興趣的可以了解一下
    2022-12-12
  • Golang中的占位符詳解

    Golang中的占位符詳解

    這篇文章主要給大家詳細總結(jié)了Golang中的占位符用法,文章通過代碼示例介紹的非常詳細,對我們學習Golang占位符有一定的幫助,需要的朋友可以參考下
    2023-07-07
  • golang flag簡單用法

    golang flag簡單用法

    本篇文章介紹了golang flag包的一個簡單的用法,希望通過一個簡單的實例,能讓大家了解它的用法,從中獲得啟發(fā)
    2018-09-09
  • Go實現(xiàn)跨平臺的藍牙聊天室示例詳解

    Go實現(xiàn)跨平臺的藍牙聊天室示例詳解

    這篇文章主要為大家介紹了Go實現(xiàn)跨平臺的藍牙聊天室示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • 輕松構(gòu)建Go應(yīng)用的Dockerfile

    輕松構(gòu)建Go應(yīng)用的Dockerfile

    本文介紹了如何制作一個用于構(gòu)建和運行Go應(yīng)用程序的Docker鏡像的Dockerfile的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • golang如何使用指針靈活操作內(nèi)存及unsafe包原理解析

    golang如何使用指針靈活操作內(nèi)存及unsafe包原理解析

    本文將深入探討unsafe包的功能和原理,同時,我們學習某種東西,一方面是為了實踐運用,另一方面則是出于功利性面試的目的,所以,本文還會為大家介紹unsafe?包的典型應(yīng)用以及高頻面試題,感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • 一文帶你掌握Golang Interface原理和使用技巧

    一文帶你掌握Golang Interface原理和使用技巧

    Golang 中的 interface 是一種非常重要的特性,可以讓我們寫出更加靈活的代碼。在本篇文章中,我們將深入探討 Golang 中interface 的原理和使用技巧,感興趣的可以了解一下
    2023-04-04
  • Go實現(xiàn)凱撒密碼加密解密

    Go實現(xiàn)凱撒密碼加密解密

    這篇文章主要為大家介紹了Go實現(xiàn)凱撒密碼加密解密示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • zap接收gin框架默認的日志并配置日志歸檔示例

    zap接收gin框架默認的日志并配置日志歸檔示例

    本文介紹了在基于gin框架開發(fā)的項目中如何配置并使用zap來接收并記錄gin框架默認的日志和如何配置日志歸檔。有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-04-04

最新評論

罗源县| 祁东县| 珲春市| 明溪县| 华宁县| 澄江县| 乌苏市| 河间市| 邳州市| 台前县| 迁西县| 禹城市| 健康| 达拉特旗| 麦盖提县| 阜阳市| 循化| 正宁县| 宜良县| 柳江县| 茌平县| 吉隆县| 突泉县| 壶关县| 新绛县| 微山县| 贺兰县| 顺平县| 秭归县| 无锡市| 和林格尔县| 邵阳市| 福贡县| 怀来县| 外汇| 开鲁县| 上虞市| 宣恩县| 固安县| 班戈县| 定西市|