百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 博客教程 > 正文

一起学习Kubernetes-01-helm安装

connygpt 2024-09-09 03:10 11 浏览

一、helm简介

helm对于k8s来说的重要性相当于centos的yum。

Helm是一个kubernetes应用的包管理工具,用来管理预先配置好的安装包资源。Helm chart是用来封装kubernetes原生应用程序的yaml文件,可以在你部署应用的时候自定义应用程序的一些metadata,便与应用程序的分发。

是一个命令行下的客户端工具。主要用于 Kubernetes 应用程序 Chart 的创建、打包、发布以及创建和管理本地和远程的 Chart 仓库。

二、Helm 客户端

1、Tar包安装

mkdir /software cd /software

wget https://get.helm.sh/helm-v3.3.0-linux-amd64.tar.gz

tar xf helm-v3.3.0-linux-amd64.tar.gz

cp linux-amd64/helm /usr/local/bin/

2、脚本安装

curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash

3、源码安装:

git clone https://github.com/helm/helm.git

cd helm && make

4、添加helm命令补全

echo "source <(helm completion bash)" >> ~/.bash_profile

source !$

5、查看版本

# helm version

version.BuildInfo{Version:"v3.3.0", GitCommit:"8a4aeec08d67a7b84472007529e8097ec3742105", GitTreeState:"dirty", GoVersion:"go1.14.7"}

三、添加 Chart 仓库

在 Helm 中默认是不会添加 Chart 仓库,所以这里我们需要手动添加,下面是添加一些常用的 Charts 库。

Chart和我们yum的仓库或者数据源一个道理。

helm repo add stable http://mirror.azure.cn/kubernetes/charts

helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com

helm repo add elastic https://helm.elastic.co

helm repo add gitlab https://charts.gitlab.io

helm repo add harbor https://helm.goharbor.io

helm repo add bitnami https://charts.bitnami.com/bitnami

helm repo add stable https://kubernetes-charts.storage.googleapis.com

helm repo update

helm repo list

这里也可以移除,命令是

# helm repo remove harbor

"harbor" has been removed from your repositories

# helm repo list 已经移除了

NAME URL

stable http://mirror.azure.cn/kubernetes/charts

aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

incubator https://kubernetes-charts-incubator.storage.googleapis.com

elastic https://helm.elastic.co

gitlab https://charts.gitlab.io

测试完毕还是加上harbor

helm repo add harbor https://helm.goharbor.io

"harbor" has been added to your repositories

# helm repo list

NAME URL

stable http://mirror.azure.cn/kubernetes/charts

aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

incubator https://kubernetes-charts-incubator.storage.googleapis.com

elastic https://helm.elastic.co

gitlab https://charts.gitlab.io

harbor https://helm.goharbor.io

四、安装测试

通过命令查询

# helm search repo tomcat

NAME CHART VERSION APP VERSION DESCRIPTION

stable/tomcat 0.4.1 7.0 Deploy a basic tomcat application server with

直接部署到k8s集群的默认命名空间

# helm install tomcat stable/tomcat -n default

NAME: tomcat

LAST DEPLOYED: Fri Oct 23 14:03:33 2020

NAMESPACE: default

STATUS: deployed

REVISION: 1

TEST SUITE: None

NOTES:

1. Get the application URL by running these commands:

NOTE: It may take a few minutes for the LoadBalancer IP to be available.

You can watch the status of by running 'kubectl get svc -w tomcat'

export SERVICE_IP=$(kubectl get svc --namespace default tomcat -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')

echo http://$SERVICE_IP:

查看一下状态

# kubectl get svc --namespace default tomcat

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE

tomcat LoadBalancer 192.168.56.73 <pending> 80:9725/TCP 5m31s

Dashboard页面显示也正常

我们把它删除了

# helm uninstall tomcat

release "tomcat" uninstalled

五、添加我们自己的harbor

helm plugin install

这里报错了

# helm plugin install https://github.com/chartmuseum/helm-push

Error: git is not installed 没装git

安装git

# yum install git

再来

# helm plugin install https://github.com/chartmuseum/helm-push

Downloading and installing helm-push v0.9.0 ...


查看安装插件

# helm plugin list

NAME VERSION DESCRIPTION

push 0.9.0 Push chart package to ChartMuseum

我发现我们harbor上没有helm chart,

[root@node01 harbor]# docker-compose -f docker-compose.yml down

[root@node01 harbor]# ./install.sh --with-chartmuseum 安装一下即可

[root@node01 harbor]# docker-compose -f docker-compose.yml up -d

# helm repo add harbor http://harbor.wumart.com/chartrepo/wolf/ --username=admin --password=admin

"harbor" has been added to your repositories

# helm repo list

NAME URL

stable http://mirror.azure.cn/kubernetes/charts

aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

incubator https://kubernetes-charts-incubator.storage.googleapis.com

elastic https://helm.elastic.co

gitlab https://charts.gitlab.io

harbor http://harbor.wumart.com/chartrepo/wolf/

###########################

常用命令

completion 命令补全

create 创建一个给定名称的chart

dependency 管理chart的依赖关系

env helm环境信息

get 获取给定release的扩展信息

help 命令帮助

history 获取release历史

install 部署chart

lint 对chart进行语法检查

list releases列表,list可简写为ls

package 打包chart

plugin install、list、uninstall Helm插件

pull 从repo中下载chart并(可选)将其解压到本地目录

repo add、list、remove、update、index Helm的repo

rollback 回滚release到一个以前的版本

search 查询在charts中的关键字

show 显示chart的信息

status 显示给定release的状态

template 本地渲染模板

test 测试运行release

uninstall 删除release

upgrade 升级release

verify 验证给定路径的chart是否已签名且有效

version 显示helm的版本信息

相关推荐

3分钟让你的项目支持AI问答模块,完全开源!

hello,大家好,我是徐小夕。之前和大家分享了很多可视化,零代码和前端工程化的最佳实践,今天继续分享一下最近开源的Next-Admin的最新更新。最近对这个项目做了一些优化,并集成了大家比较关注...

干货|程序员的副业挂,12个平台分享

1、D2adminD2Admin是一个完全开源免费的企业中后台产品前端集成方案,使用最新的前端技术栈,小于60kb的本地首屏js加载,已经做好大部分项目前期准备工作,并且带有大量示例代码,助...

Github标星超200K,这10个可视化面板你知道几个

在Github上有很多开源免费的后台控制面板可以选择,但是哪些才是最好、最受欢迎的可视化控制面板呢?今天就和大家推荐Github上10个好看又流行的可视化面板:1.AdminLTEAdminLTE是...

开箱即用的炫酷中后台前端开源框架第二篇

#头条创作挑战赛#1、SoybeanAdmin(1)介绍:SoybeanAdmin是一个基于Vue3、Vite3、TypeScript、NaiveUI、Pinia和UnoCSS的清新优...

搭建React+AntDeign的开发环境和框架

搭建React+AntDeign的开发环境和框架随着前端技术的不断发展,React和AntDesign已经成为越来越多Web应用程序的首选开发框架。React是一个用于构建用户界面的JavaScrip...

基于.NET 5实现的开源通用权限管理平台

??大家好,我是为广大程序员兄弟操碎了心的小编,每天推荐一个小工具/源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节省开发效率,实现不加班不熬夜不掉头发,是我的目标!??今天小编推荐一款基于.NE...

StreamPark - 大数据流计算引擎

使用Docker完成StreamPark的部署??1.基于h2和docker-compose进行StreamPark部署wgethttps://raw.githubusercontent.com/a...

教你使用UmiJS框架开发React

1、什么是Umi.js?umi,中文可发音为乌米,是一个可插拔的企业级react应用框架。你可以将它简单地理解为一个专注性能的类next.js前端框架,并通过约定、自动生成和解析代码等方式来辅助...

简单在线流程图工具在用例设计中的运用

敏捷模式下,测试团队的用例逐渐简化以适应快速的发版节奏,大家很早就开始运用思维导图工具比如xmind来编写测试方法、测试点。如今不少已经不少利用开源的思维导图组件(如百度脑图...)来构建测试测试...

【开源分享】神奇的大数据实时平台框架,让Flink&amp;Spark开发更简单

这是一个神奇的框架,让Flink|Spark开发更简单,一站式大数据实时平台!他就是StreamX!什么是StreamX大数据技术如今发展的如火如荼,已经呈现百花齐放欣欣向荣的景象,实时处理流域...

聊聊规则引擎的调研及实现全过程

摘要本期主要以规则引擎业务实现为例,陈述在陌生业务前如何进行业务深入、调研、技术选型、设计及实现全过程分析,如果你对规则引擎不感冒、也可以从中了解一些抽象实现过程。诉求从硬件采集到的数据提供的形式多种...

【开源推荐】Diboot 2.0.5 发布,自动化开发助理

一、前言Diboot2.0.5版本已于近日发布,在此次发布中,我们新增了file-starter组件,完善了iam-starter组件,对core核心进行了相关优化,让devtools也支持对IAM...

微软推出Copilot Actions,使用人工智能自动执行重复性任务

IT之家11月19日消息,微软在今天举办的Ignite大会上宣布了一系列新功能,旨在进一步提升Microsoft365Copilot的智能化水平。其中最引人注目的是Copilot...

Electron 使用Selenium和WebDriver

本节我们来学习如何在Electron下使用Selenium和WebDriver。SeleniumSelenium是ThoughtWorks提供的一个强大的基于浏览器的开源自动化测试工具...

Quick &#39;n Easy Web Builder 11.1.0设计和构建功能齐全的网页的工具

一个实用而有效的应用程序,能够让您轻松构建、创建和设计个人的HTML网站。Quick'nEasyWebBuilder是一款全面且轻巧的软件,为用户提供了一种简单的方式来创建、编辑...