Microk8s 安裝helm3


Microk8s 安裝helm3

原本使用官方的命令時這樣的。但是使用的是官方的源,網絡極不穩定。就出現了下面的狀況。解決方法是更改為國內的源。

microk8s enable helm3

curl: (56) GnuTLS recv error (-54): Error in the pull function.

通過ps命令查看該進程的工作

可以看到使用microk8s enable helm3的時候,執行的命令和工作的目錄。用此來確定工作的數據目錄。

進入action目錄查看的時候看到了enable.helm3.sh的腳本。

root@local:/snap/microk8s/2035/actions# ls
common                  disable.knative.sh         enable.gpu.sh             enable.rbac.sh
coredns.yaml            disable.kubeflow.sh        enable.ha-cluster.sh      enable.registry.sh
dashboard.yaml          disable.linkerd.sh         enable.helm.sh            enable.storage.sh
disable.ambassador.sh   disable.metallb.sh         enable.helm3.sh           enable.traefik.sh
disable.cilium.sh       disable.metrics-server.sh  enable.host-access.sh     fluentd
disable.dashboard.sh    disable.multus.sh          enable.ingress.sh         gpu.yaml
disable.dns.sh          disable.portainer.sh       enable.istio.sh           ingress.yaml
disable.fluentd.sh      disable.prometheus.sh      enable.jaeger.sh          jaeger
disable.gpu.sh          disable.rbac.sh            enable.juju.sh            knative
disable.ha-cluster.sh   disable.registry.sh        enable.keda.sh            metallb.yaml
disable.helm.sh         disable.storage.sh         enable.knative.sh         metrics-server.yaml
disable.helm3.sh        disable.traefik.sh         enable.kubeflow.sh        multus.yaml
disable.host-access.sh  dns.yaml                   enable.linkerd.sh         prometheus
disable.ingress.sh      enable.ambassador.sh       enable.metallb.sh         registry-help.yaml
disable.istio.sh        enable.cilium.sh           enable.metrics-server.sh  registry.yaml
disable.jaeger.sh       enable.dashboard.sh        enable.multus.sh          storage.yaml
disable.juju.sh         enable.dns.sh              enable.portainer.sh       traefik.yaml
disable.keda.sh         enable.fluentd.sh          enable.prometheus.sh

查看該腳本

root@local:/snap/microk8s/2035/actions# cat enable.helm3.sh 
#!/usr/bin/env bash

set -e

source $SNAP/actions/common/utils.sh
CA_CERT=/snap/core/current/etc/ssl/certs/ca-certificates.crt

echo "Enabling Helm 3"

if [ ! -f "${SNAP_DATA}/bin/helm3" ]
then
  # 這里就是官方的源地址了,就是因為它導致下載的超時。
  SOURCE_URI="https://get.helm.sh"
  HELM_VERSION="v3.0.2"

  echo "Fetching helm version $HELM_VERSION."
  run_with_sudo mkdir -p "${SNAP_DATA}/tmp/helm"
  (cd "${SNAP_DATA}/tmp/helm"
  run_with_sudo "${SNAP}/usr/bin/curl" --cacert $CA_CERT -L $SOURCE_URI/helm-$HELM_VERSION-linux-$(arch).tar.gz -o "$SNAP_DATA/tmp/helm/helm.tar.gz"
  run_with_sudo gzip -f -d "$SNAP_DATA/tmp/helm/helm.tar.gz"
  run_with_sudo tar -xf "$SNAP_DATA/tmp/helm/helm.tar")

  run_with_sudo mkdir -p "$SNAP_DATA/bin/"
  run_with_sudo mv "$SNAP_DATA/tmp/helm/linux-$(arch)/helm" "$SNAP_DATA/bin/helm3"
  run_with_sudo chmod +x "$SNAP_DATA/bin/"
  run_with_sudo chmod +x "$SNAP_DATA/bin/helm3"

  run_with_sudo rm -rf "$SNAP_DATA/tmp/helm"
fi

echo "Helm 3 is enabled"
root@local:/snap/microk8s/2035/actions#

在直接更改了它保存退出,報錯。

文件系統只讀,那是因為這是安裝程序在本地掛載的回環地址是只讀的形式掛載的,嘗試以可讀寫的方式掛載失敗了。

然后把腳本復制出來,更改單獨執行。

root@local:~# cat /tmp/enable.helm3.sh 
#!/usr/bin/env bash

set -e

# 手動添加的目錄變量
SNAP=/snap/microk8s/2035
SNAP_DATA=/var/snap/microk8s/2035

source $SNAP/actions/common/utils.sh
CA_CERT=/snap/core/current/etc/ssl/certs/ca-certificates.crt

echo "Enabling Helm 3"

if [ ! -f "${SNAP_DATA}/bin/helm3" ]
then
  # 更改為華為的源
  SOURCE_URI="https://mirrors.huaweicloud.com/helm/v3.0.2/"
  HELM_VERSION="v3.0.2"

  echo "Fetching helm version $HELM_VERSION."
  run_with_sudo mkdir -p "${SNAP_DATA}/tmp/helm"
  (cd "${SNAP_DATA}/tmp/helm"
  # $(arch)改成了amd64
  run_with_sudo "${SNAP}/usr/bin/curl" --cacert $CA_CERT -L $SOURCE_URI/helm-$HELM_VERSION-linux-amd64.tar.gz -o "$SNAP_DATA/tmp/helm/helm.tar.gz"
  run_with_sudo gzip -f -d "$SNAP_DATA/tmp/helm/helm.tar.gz"
  run_with_sudo tar -xf "$SNAP_DATA/tmp/helm/helm.tar")

  run_with_sudo mkdir -p "$SNAP_DATA/bin/"
  run_with_sudo mv "$SNAP_DATA/tmp/helm/linux-amd64/helm" "$SNAP_DATA/bin/helm3"
  run_with_sudo chmod +x "$SNAP_DATA/bin/"
  run_with_sudo chmod +x "$SNAP_DATA/bin/helm3"

  run_with_sudo rm -rf "$SNAP_DATA/tmp/helm"
fi

echo "Helm 3 is enabled"

# 執行
root@local:/tmp# ./enable.helm

查看結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM