星期日, 12月 21, 2025

GCP VM Manager 小記

GCP VM Manager 小記



最近跟同事討論 CVE 檢查與升級, 就想說來寫這一篇

今天來實作 GCP VM Manager 

  • 以下方式是針對 無組織的單一專案進行設定


登入 GCP Console


首先要啟用 API 


點選 APIs & Services -- > 點選 Library


搜尋 VM Manager


這個時候可以看到 VM Manager ( OS Config API )



點選 VM Manager ( OS Config API) 的 Enable 啟用 API



接下來要設定 中繼資料 (Metadata)

前往 Compute Engine > 設定 (Settings) 下面的 中繼資料 (Metadata)

點選 Edit



點選 Add item



輸入以下 2 組 Key - Value

  • enable-osconfig: TRUE

  • enable-guest-attributes: TRUE


點選 Save 儲存


確認相關資訊


接下來可以建立 GCE Instance


建立後可以觀察 VM Manager 的 Patch



在 Dashboard 可以看到目前 VM 的數量 以及不同 OS 的分布狀況


點選 VM Instances 也可以同步看到 OS 目前的 Status



這邊可以觀察到目前 Ubuntu 24.04 是 Up-to-date, Oracle Linux 則是 Other updates available


點選 Oracle Linux instance 觀察資訊


這邊可以觀察到 有 267 套件可以升級, 然後也有 CVE 欄位



在 OS 內同步比對



接下來嘗試在VM instance details 的視窗 升級套件


勾選其中一個套件 (這邊以 at 套件為例) -- > 點選 Apply update


這個時候就會被轉到 Create patch job 視窗

然後是以手動選取 VM 的方式, 也已經選取剛剛的 VM

點選 Next


輸入 Patch Job 名稱

點選 Next



  • 這個時候可以觀察到 YUM 選項, 自動被選取到 Select update 欄位, 然後剛剛勾選的套件也被填入



接下來決定這個 Job 執行方式

點選 Next


  • 這邊預設是馬上指行, 也可以排定自訂的時間


接下來是 Rollout options

因爲是單台的實驗, 沒有單一 zone / 多 zone 的考量與置換百分比與 VM 數量設置需求

點選 Next


Advanced options 就按照預設

點選 Deploy



也可以同步觀察如果是指令的方式該如何



接下來會顯示 Job 執行畫面



執行的結果可以在 Jobs run 分頁觀察



  • 可以點進 Job 看詳細資訊與 log


這個時候再次觀察 VM instance details 視窗與 OS 內觀察




  • 這邊就會觀察到相關套件已經被更新


接下來嘗試在 Oracle Linux 進行套件更新

$sudo  dnf  update


在升級的過程, 也可以看到套件數是有同步的



升級完畢後, VM Manager 的 Patch 也會同步顯示狀態



寫一下目前的實作感想

  • VM Manager 可以反應目前的 OS patch 狀態

  • Patch 可透過 Job 定時/自訂時間去執行升級工作, 顯示上也可以看到 CVE 欄位



又前進一步


~ enjoy it


星期日, 12月 07, 2025

Gemini CLI extension - Nano Banana 小記

Gemini CLI extension - Nano Banana 小記



OS: macOS 14.3

Gemini: 0.19.4


Gemini CLI 出了 extension 之後, 原本只是會搜尋相關的 MCP 這個動作, 目前也會相對的去 Gemini CLI Extensions 網頁同步搜尋


所以在安裝之前先說明一下 MCP 常見的安裝方式與差異


  • gemini extension install: 為一般使用者設計,用來安裝和使用穩定發布的擴充功能。

  • gemini mcp add: 為擴充功能開發者設計,用來載入和測試本地開發中的擴充功能。

  • 手動編輯 settings.json: 為進階使用者或開發者設計,用於進行底層設定或手動執行 gemini mcp add 的操作,風險較高。



另外由 Gemini CLI Extension 安裝的擴充套件還會在啟動時提醒你, 有 extension 可以升級


  • 可以使用 /extensions update 套件名稱 來進行升級

好了, 進入正軌

今天來寫 Gemini CLI extension - Nano Banana 安裝與測試小記

最簡單的方式就是從剛剛 Gemini CLI Extensions 網頁瀏覽或是搜尋

找到之後, 就可以看到相關資訊以及複製安裝指令



Nano Banana GitHub 首頁


接下來來安裝 nano banana extension


開始之前可以使用 gemini extension list 來列出已經安裝的套件


% gemini  extension  list  |  grep  '('


bigquery-data-analytics (0.1.3)

 Source: https://github.com/gemini-cli-extensions/bigquery-data-analytics (Type: github-release)

 Enabled (User): true

 Enabled (Workspace): true

gcloud (0.1.0)

 Source: https://github.com/gemini-cli-extensions/gcloud (Type: git)

 Enabled (User): true

 Enabled (Workspace): true


  • 我這邊使用 grep 將輸入訊息簡單化

安裝 nano banana


% gemini  extensions  install  https://github.com/gemini-cli-extensions/nanobanana


Installing extension "nanobanana".

**The extension you are about to install may have been created by a third-party developer and sourced from a public repository. Google does not vet, endorse, or guarantee the functionality or security of extensions. Please carefully inspect any extension and its source code before installing to understand the permissions it requires and the actions it may perform.**

This extension will run the following MCP servers:

  * nanobanana (local): node /var/folders/kr/0wnd4b_d2lgd9sqy_tns98x80000gn/T/gemini-extensionaNirDZ/mcp-server/dist/index.js

This extension will append info to your gemini.md context using GEMINI.md

Do you want to continue? [Y/n]: Y

Extension "nanobanana" installed successfully and enabled.


再次確認資訊


% gemini  extension  list | grep '('


✓ bigquery-data-analytics (0.1.3)

 Source: https://github.com/gemini-cli-extensions/bigquery-data-analytics (Type: github-release)

 Enabled (User): true

 Enabled (Workspace): true

✓ gcloud (0.1.0)

 Source: https://github.com/gemini-cli-extensions/gcloud (Type: git)

 Enabled (User): true

 Enabled (Workspace): true

nanobanana (1.0.10)

 Source: https://github.com/gemini-cli-extensions/nanobanana (Type: github-release)

 Enabled (User): true

 Enabled (Workspace): true


  • 另外也建議去觀察家目錄下面的 .gemini/extensions 目錄


將剛剛說的 API Key 輸出為環境變數


% export  NANOBANANA_GEMINI_API_KEY=AIzaSyADqdtHUMXAfFEUa7RDKfj-4kaaQhtmAEE


嘗試使用 gemini 3

% export NANOBANANA_MODEL=gemini-3-pro-image-preview


啟動 gemini


開始嘗試產生圖案



會在當前目錄下的 nanobanana-output 目錄產生圖片



另外一個例子


  • 我請他建立 3 張 玉山主峰的圖片, 產出的照片與實際的照片差不多, 但是他把真實的照片的橫幅說明文字由英文改為中文 :p 以後真的照片可能幾可亂真


最後一個是我最喜歡的一個功能, 請他建立流程圖


提示詞: 


產出範例


只能說真的是一個方便的工具, 也希望 Gemini 3 可以趕快下放


又往前一步


~ enjoy it





References