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

查看结果

Microk8s 安装helm3的更多相关文章

  1. openshift 4.3中安装helm3并通过helm方式部署应用

    openshift 4.3中安装helm3并通过helm方式部署应用 简介 Helm是一个命令行界面(CLI)工具,可简化将应用程序和服务部署到OpenShift Container Platform ...

  2. MicroK8S 安装 修改IP 设置镜像加速 升级 卸载等

    系统要求: Ubuntu 20.04 LTS, 18.04 LTS or 16.04 LTS或其他支持snapd的操作系统 内存:4G+ 硬盘:20G+ 官方文档 安装microk8s sudo sn ...

  3. 安装 Helm3 管理 Kubernetes 应用

    文章转载自:http://www.mydlq.club/article/51/ 系统环境: Helm 版本:v3.5.0 Kubernetes 版本:v1.18.2 一.Helm 介绍 Helm 是一 ...

  4. MicroK8s及KubeFlow安装文档

    安装简单的k8s大约有三种思路:minikube,microk8s,kubeadm.minikube 虽然是官方出品,但主要还是基于虚拟机做的设计.在 Linux 生产环境下,microk8s 可能是 ...

  5. 在 MacOS 中使用 multipass 安装 microk8s 环境

    在 MacOS 中使用 multipass 安装 microk8s 环境 Multipass & MicroK8s 介绍 What is Kubernetes? Kubernetes clus ...

  6. Windows 使用 helm3 和 kubectl

    简介: 主要原因是,我不会 vim ,在 linux 上修改 charts 的很蹩脚,所以就想着能不能再 windows 上执行 helm 命令,将 charts install linux 上搭建的 ...

  7. 当AI遇上K8S:使用Rancher安装机器学习必备工具JupyterHub

    Jupyter Notebook是用于科学数据分析的利器,JupyterHub可以在服务器环境下为多个用户托管Jupyter运行环境.本文将详细介绍如何使用Rancher安装JupyterHub来为数 ...

  8. kubeadm安装kubernetes1.18.5

    前言 尝试安装helm3,kubernetes1.18,istio1.6是否支持现有集群平滑迁移 版本 Centos7.6 升级内核4.x kubernetes:v1.18.5 helm:v3.2.4 ...

  9. 企业运维实践-还不会部署高可用的kubernetes集群?使用kubeadm方式安装高可用k8s集群v1.23.7

    关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 文章目录: 0x00 前言简述 ...

随机推荐

  1. Kafka 消息存储机制

    Kafka 消息以 Partition 作为存储单元,那么在 Partition 内消息是以什么样的格式存储的呢,如何处理 Partition 中的消息,又有哪些安全策略来保证消息不会丢失呢,这一篇我 ...

  2. Dynamics CRM新加了组织后提示数据加密错误的解决方法

    新加组织后登录报错如下: 这个是因为你新还原的组织原来绑定的加密GUID和现有的组织冲突导致的,所以需要重新为数据加密绑定一个GUID 解决办法:随机生成一个GUID 可以在https://guidg ...

  3. String类的使用2

    /*String:字符串,使用一对""引起来表示.1.String声明为final的,不可被继承2.String实现了Serializable接口:表示字符串是支持序列化的. 实现 ...

  4. 机器学习--Micro Average,Macro Average, Weighted Average

    根据前面几篇文章我们可以知道,当我们为模型泛化性能选择评估指标时,要根据问题本身以及数据集等因素来做选择.本篇博客主要是解释Micro Average,Macro Average,Weighted A ...

  5. Java8中的Stream流式操作 - 入门篇

    作者:汤圆 个人博客:javalover.cc 前言 之前总是朋友朋友的叫,感觉有套近乎的嫌疑,所以后面还是给大家改个称呼吧 因为大家是来看东西的,所以暂且叫做官人吧(灵感来自于民间流传的四大名著之一 ...

  6. pwnable.tw orw

    orw 首先,检查一下程序的保护机制 开启了canary保护,还是个32位的程序,应该是个简单的题

  7. 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之裸金属-20

    自动化kolla-ansible部署ubuntu20.04+openstack-victoria之裸金属-20 欢迎加QQ群:1026880196 进行交流学习 近期我发现网上有人转载或者复制原创博客 ...

  8. day9.函数2

    一.函数对象 函数是第一类对象,第一等公民,函数对象即函数可以被当作变量去用. 具体分为四个方面: 1.可以被赋值 def func(): print('from func') f = func pr ...

  9. Day09_43_Set集合_HashSet_02(HashCode方法 与 equals方法 )

    HashSet - 向Hash表中添加元素的过程? 1. 先调用将要被存储的值key的HashCode方法得出Hash值,如果该Hash值在现有Hash表中不存在,那么直接加入元素. 2. 如果该Ha ...

  10. MySQL数据库干货分享!mysql每月自动创建表结构

    如果你刚好在学MySQL,博主推荐一套很详细的MySQL教程 主要详细讲解了MySQL的相关知识,包括MySQL概述,MySQL应用环境,MySQL系统特性,MySQL初学基础,MySQL管理工具,如 ...