如何在 golang 中使用 kubernetes 服務帳號?
實際上,我主要將kubernetes 服務帳戶與nodejs 一起使用,這工作得很好,但我有一個用go 製作的服務,但我似乎無法使其與服務帳戶一起使用(我知道服務帳戶是正確的)配置是因為我用pod 測試了它)。
我正在使用這個函式庫 https://www.php.cn/link/2ce2b048fbba1c28933b3b167650dc3d
#到目前為止我嘗試過這個:
sess := session.must(session.newsession()) creds := stscreds.newcredentials(sess, os.getenv("aws_role_arn")) svc := s3.new(sess, &aws.config{credentials: creds})
還有這個(以防萬一):
region := os.getenv("amazon_region") sess := session.must(session.newsession(&aws.config{region: ®ion})) svc := s3.new(sess)
對於第一種情況,我收到以下錯誤:
AccessDenied: User: arn:aws:sts::xxxxxxxx:assumed-role/staging-worker-node/i-0xxxxxxxxx is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::xxxxxxxx:role/EKSServiceAccount-app
對於第二種情況,我遇到了一般權限錯誤。
我閱讀了文件並嘗試了更多的東西(這可能與這裡無關),但我看不到讓它工作,也許是因為我對 golang 沒有太多經驗。
正確答案
您可以嘗試透過以下幾種方式讓 Go 服務與 Kubernetes 上的服務帳戶搭配使用:
驗證您的 Go 服務是否已正確設定為使用 Kubernetes 服務帳戶。這可以透過檢查服務帳戶是否正確安裝為 Pod 定義中的磁碟區以及服務是否能夠從該磁碟區讀取憑證來完成。
確保您使用的 AWS SDK for Go (https://github.com /aws/aws-sdk-go) 配置為使用正確的憑證。 SDK 支援多種提供憑證的方法,包括環境變數、共用憑證檔案和 IAM 角色。
您可以嘗試使用k8s.io/client-go
庫代替AWS SDK
for Go,這將幫助您使用Kubernetes 服務帳戶透過Kubernetes API 進行驗證並取得AWS開發工具包所需的憑證。
如果您使用 Kubernetes 服務帳戶向 AWS 等外部服務進行驗證,您可能還需要設定 IAM 角色,以允許服務帳戶存取必要的資源。
仔細檢查您的 Go 服務是否正確使用 Kubernetes 服務帳戶令牌並將其作為身分驗證令牌傳遞給 AWS 開發工具包。
您也可以嘗試使用 k8s.io/client-go
函式庫來取得秘密並在您的 go 程式碼中使用它。
以上是如何在 golang 中使用 kubernetes 服務帳號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

OpenSSL,作為廣泛應用於安全通信的開源庫,提供了加密算法、密鑰和證書管理等功能。然而,其歷史版本中存在一些已知安全漏洞,其中一些危害極大。本文將重點介紹Debian系統中OpenSSL的常見漏洞及應對措施。 DebianOpenSSL已知漏洞:OpenSSL曾出現過多個嚴重漏洞,例如:心臟出血漏洞(CVE-2014-0160):該漏洞影響OpenSSL1.0.1至1.0.1f以及1.0.2至1.0.2beta版本。攻擊者可利用此漏洞未經授權讀取服務器上的敏感信息,包括加密密鑰等。

Go語言中用於浮點數運算的庫介紹在Go語言(也稱為Golang)中,進行浮點數的加減乘除運算時,如何確保精度是�...

Go爬蟲Colly中的Queue線程問題探討在使用Go語言的Colly爬蟲庫時,開發者常常會遇到關於線程和請求隊列的問題。 �...

本文討論了通過go.mod,涵蓋規範,更新和衝突解決方案管理GO模塊依賴關係。它強調了最佳實踐,例如語義版本控制和定期更新。

本文討論了GO中使用表驅動的測試,該方法使用測試用例表來測試具有多個輸入和結果的功能。它突出了諸如提高的可讀性,降低重複,可伸縮性,一致性和A

後端學習路徑:從前端轉型到後端的探索之旅作為一名從前端開發轉型的後端初學者,你已經有了nodejs的基礎,...
