github.com/gocrane/crane@v0.11.0/docs/installation.zh_TW.md (about)

     1  # 產品部署指南
     2  
     3  為了讓您更快的部署 Crane ,本文檔提供清晰的:
     4  
     5  * 部署環境要求
     6  * 具體安裝步驟
     7  
     8  Crane 安裝時間在10分鐘左右,具體時間也依賴集群規模以及硬件能力。目前安裝已經非常成熟,如果您安裝中遇到任何問題,可以採取如下幾種方式:
     9  
    10  * 請首先檢查後文的 F&Q
    11  * 可以提出一個 [Issue](https://github.com/gocrane/crane/issues/new?assignees=&labels=kind%2Fbug&template=bug_report.md&title=),我們會認真對待每一個 [Issue](https://github.com/gocrane/crane/issues)
    12  
    13  ## 部署環境要求
    14  
    15  - Kubernetes 1.18+
    16  - Helm 3.1.0
    17  
    18  ## 安裝流程
    19  
    20  ### 安裝 Helm
    21  
    22  建議參考 Helm 官網[安裝文檔](https://helm.sh/docs/intro/install/)。
    23  
    24  ### 安裝 Prometheus 和 Grafana
    25  
    26  使用 Helm 安裝 Prometheus 和 Grafana。
    27  
    28  !!! Note "注意" 
    29      如果您已經在環境中部署了 Prometheus 和 Grafana,可以跳過該步驟。
    30  
    31  !!! Warning "網絡問題"
    32      如果你的網絡無法訪問GitHub資源(GitHub Release, GitHub Raw Content `raw.githubusercontent.com`)。
    33      
    34      那麼你可以嘗試鏡像倉庫。但鏡像倉庫具有一定的**時延**。 [鏡像倉庫](mirror.zh.md)
    35  
    36  
    37  Crane 使用 Prometheus 抓取集群工作負載對資源的使用情況。安裝 Prometheus:
    38  
    39  === "Main"
    40  
    41      ```bash
    42      helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
    43      helm install prometheus -n crane-system \
    44                              --set pushgateway.enabled=false \
    45                              --set alertmanager.enabled=false \
    46                              --set server.persistentVolume.enabled=false \
    47                              -f https://raw.githubusercontent.com/gocrane/helm-charts/main/integration/prometheus/override_values.yaml \
    48                              --create-namespace  prometheus-community/prometheus
    49      ```
    50  
    51  === "Mirror"
    52  
    53      ```bash
    54      helm repo add prometheus-community https://finops-helm.pkg.coding.net/gocrane/prometheus-community
    55      helm install prometheus -n crane-system \
    56                              --set pushgateway.enabled=false \
    57                              --set alertmanager.enabled=false \
    58                              --set server.persistentVolume.enabled=false \
    59                              -f https://finops.coding.net/p/gocrane/d/helm-charts/git/raw/main/integration/prometheus/override_values.yaml?download=false \
    60                              --create-namespace  prometheus-community/prometheus
    61      ```
    62  
    63  
    64  Crane 的 Fadvisor 使用 Grafana 展示成本預估。安裝 Grafana:
    65  
    66  === "Main"
    67  
    68      ```bash
    69      helm repo add grafana https://grafana.github.io/helm-charts
    70      helm install grafana \
    71                   -f https://raw.githubusercontent.com/gocrane/helm-charts/main/integration/grafana/override_values.yaml \
    72                   -n crane-system \
    73                   --create-namespace grafana/grafana
    74      ```
    75  
    76  === "Mirror"
    77  
    78      ```bash
    79      helm repo add grafana https://finops-helm.pkg.coding.net/gocrane/grafana
    80      helm install grafana \
    81                   -f https://finops.coding.net/p/gocrane/d/helm-charts/git/raw/main/integration/grafana/override_values.yaml?download=false \
    82                   -n crane-system \
    83                   --create-namespace grafana/grafana
    84      ```
    85  
    86  ### 安裝 Crane 和 Fadvisor
    87  
    88  === "Main"
    89  
    90      ```bash
    91      helm repo add crane https://gocrane.github.io/helm-charts
    92      helm install crane -n crane-system --create-namespace crane/crane
    93      helm install fadvisor -n crane-system --create-namespace crane/fadvisor
    94      ```
    95  
    96  === "Mirror"
    97  
    98      ```bash
    99      helm repo add crane https://finops-helm.pkg.coding.net/gocrane/gocrane
   100      helm install crane -n crane-system --create-namespace crane/crane
   101      helm install fadvisor -n crane-system --create-namespace crane/fadvisor
   102      ```
   103  
   104  ### 安裝 Crane-scheduler(可選)
   105  ```console
   106  helm install scheduler -n crane-system --create-namespace crane/scheduler
   107  ```
   108  
   109  ## 驗證安裝是否成功
   110  
   111  使用如下命令檢查安裝的 Deployment 是否正常:
   112  
   113  ```console
   114  kubectl get deploy -n crane-system
   115  ```
   116  
   117  結果類似如下:
   118  
   119  ```shell
   120  NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
   121  craned                          1/1     1            1           31m
   122  fadvisor                        1/1     1            1           41m
   123  grafana                         1/1     1            1           42m
   124  metric-adapter                  1/1     1            1           31m
   125  prometheus-kube-state-metrics   1/1     1            1           43m
   126  prometheus-server               1/1     1            1           43m
   127  ```
   128  
   129  可以查看本篇[文檔](https://github.com/gocrane/helm-charts/blob/main/charts/crane/README.md)獲取更多有關 Crane Helm Chart 的信息。
   130  
   131  ## 成本展示
   132  
   133  ### 打開 Crane 控制台
   134  
   135  注意:Crane 的控制台地址就是 Crane 的 URL 地址,可以將其添加到統一的控制台查看多個部署 Crane 的集群的信息。
   136  
   137  利用 [Port forwarding](https://kubernetes.io/docs/tasks/access-application-cluster/port-forward-access-application-cluster/) 命令,可以在本地計算機的瀏覽器打開 Crane 控制台:
   138  
   139  ```
   140  kubectl port-forward -n crane-system svc/craned 9090
   141  ```
   142  
   143  執行上述命令後,不要關閉命令行工具,在本地計算機的瀏覽器地址裡輸入 `localhost:9090`即可打開 Crane 的控制台:
   144  
   145  ![](images/crane-dashboard.png)
   146  
   147  ### 添加安裝了 Crane 的集群
   148  
   149  您可以點擊上圖中的“添加集群”的藍色按鈕,將 Crane 控制台的地址 `http://localhost:9090` 作為 Crane 的 URL,作為第一個集群添加到 Crane 控制台。
   150  
   151  ![](images/add_cluster.png)
   152  
   153  若您想添加其它集群,實現多集群的資源使用和成本分析。可以在別的集群中也安裝完 Crane 之後,將 Crane 的 URL 添加進來。
   154  
   155  ## 自定義安裝
   156  
   157  通過 YAML 安裝 `Crane` 。
   158  
   159  === "Main"
   160  
   161      ```bash
   162      git clone https://github.com/gocrane/crane.git
   163      CRANE_LATEST_VERSION=$(curl -s https://api.github.com/repos/gocrane/crane/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")')
   164      git checkout $CRANE_LATEST_