亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

以編程方式在 GCP VM 實例上運行 bash 腳本

以編程方式在 GCP VM 實例上運行 bash 腳本

Go
楊__羊羊 2022-08-24 11:44:36
我已經閱讀了多篇關于在GCP虛擬機上運行腳本的帖子,但不幸的是,找不到滿足我需求的答案。我有一個Go應用程序,我正在尋找一種以編程方式在VM實例上運行bash腳本的方法。我正在使用一個允許我獲取 VM 實例信息的。遺憾的是,SDK 不包含允許在特定實例上運行 bash 腳本的功能(例如,與 Azure 云 SDK 不同)。Google Cloud Golang SDK我發現的選項:Google Cloud Compute SDK 提供了一個用于設置啟動腳本的選項,該腳本將在每次重新啟動實例時運行。添加實例級公有 SSH 密鑰。建立 SSH 連接并使用 Go SSH 客戶端運行腳本。問題:顯然,啟動腳本將需要實例重新啟動,這在我的用例中是不可能的。SSH 也可能有問題,以防實例未運行 SSH 守護程序或 SSH 端口未打開。此外,SSH 守護程序配置默認不允許 root 登錄(可能為 false),因此腳本可能在非特權用戶上運行,使此選項也不合適。PermitRootLogin我應該注意,我無權更改這些虛擬機的配置(例如,更改ssh守護程序conf以允許root登錄),我只能使用基于令牌的身份驗證來訪問它們,最好是通過SDK,盡管只要我不將實例暴露在額外的風險中,其他選項也是可能的。我有哪些選擇?這可行嗎?我錯過了什么嗎?謝謝!
查看完整描述

2 回答

?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

正如Kolban所說,沒有這樣的API可以從VM內部的bash外部觸發。最好的解決方案是部署一個調用bash的Web服務器(REST API)并公開它(外部或內部)。


但你也可以作弊??梢栽谑褂脝幽_本運行并偵聽自定義元數據的 VM 上創建守護程序。假設每秒檢查一次。

更新元數據后,守護程序可以執行操作??梢韵胂螅獢祿褂脜颠\行的腳本。在運行結束時,守護程序將清理元數據。

所以現在,要運行你的bash,調用setMetadata Api。這不是開箱即用的,但你可以擁有與你期望的相似的東西。


查看完整回答
反對 回復 2022-08-24
?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

將 GCP 視為提供虛擬機基礎架構,如計算、內存、磁盤和網絡。計算機啟動時運行的內容位于你和計算機映像之間。我聽到你說你想在VM運行bash腳本。這超出了基仕伯的治理范圍?;瞬粫绊懎h境的運行和存在。如果要執行的操作是以編程方式在 VM 中運行腳本,則需要在 VM 中運行某種形式的 demon,這些 demon 可以發出運行此類腳本的信號。這可能是一個Web服務器,如燒瓶或快遞,它可能是你的SSH服務器,也可能是你選擇的其他一些技術。

我認為您正在尋找的核心是一些GCP API,當調用它時,它將在計算引擎中運行腳本。我要說的是,沒有這樣的API。


查看完整回答
反對 回復 2022-08-24
  • 2 回答
  • 0 關注
  • 101 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號