2016-03-13 40 views
4

我想使用gcafuse或任何其他工具/其他設置在Google Container Engine中安裝Google存儲桶。容器在Google容器引擎下運行所以,我們需要使用yaml文件來定義它中的幾個參數。在Google容器中安裝Google存儲桶

如果在.yaml文件中使用特權和sys_admin或其他任何其他必需參數來構建新的複製控制器/服務,可以使用任何類型的東西。

+0

該上游[問題](https://github.com/kubernetes/kubernetes/issues/7890)似乎相關。看起來用例還不被支持,但我可能是錯的。提出這個問題可能會讓你從那些專家那裏得到答案:) – caesarxuchao

+0

我已經在Docker容器鏡像中安裝了gcsfuse,並使用了privileged = true參數來掛載它,但仍然無法將它掛載到容器中。需要更多的投入。 apiVersion:V1 類型:ReplicationController 元數據: 名稱:阿帕奇 規格: 副本:1 模板: 元數據: 標籤: 應用:阿帕奇 規格: 容器: - 名稱:apachehttps 圖像:的httpd:V1 SecurityContext的: 功能:{} 特權:真 命令:[ 「gcsfuse --key文件=的/ usr /本地/ Test.json TEST1-土塊存儲的/ mnt」] 端口: - containerPort :443 - containerPort:80 – Nitin

+0

Nitin,像chao提到的那樣GCSFuse目前沒有Kubernetes卷插件(因爲K8s沒有FUSE FS支持)。要將GCS安裝在容器中,您必須使用gcsfuse手動將其全部設置完畢,這似乎是您正在做的。你在容器日誌中看到什麼錯誤? –

回答

6

我們可以使用gcsfuse或s3fuse在Kubernetes pod/Container中安裝Google存儲桶。在開始在具有如下SYS_ADMIN權限的容器運行容器上安裝保險絲之前。

$泊塢窗運行 - 它--cap加SYS_ADMIN --name開發--device的/ dev /保險絲數據筒/姓名/斌/慶典

  1. 在POD /集裝箱映像安裝gcsfuses3fuse
  2. 創建shell腳本並在其中添加掛載命令。
  3. 將特權參數添加到YAML文件中以將管理功能授予pod/Container。 示例如下。

    securityContext: 
        capabilities: {} 
        privileged: true 
    
  4. 在pam/Container的postStart之後,在YAML文件中添加Postlife循環掛鉤參數以掛載存儲桶。 示例如下。

    lifecycle: 
        postStart: 
        exec: 
         command: 
          - "sh" 
          - "/usr/local/gcsfusemount.sh" 
    
相關問題