charts使用方法与Repo仓库的创建
admin
2023-03-25 10:41:49
0

1、开发自己的chare包

[root@master ~]# helm create mychare
//创建一个名为mychare的chare包
[root@master ~]# tree -C mychare/
//以树状图查看一下chare包
mychare/
├── charts
├── Chart.yaml
├── templates
│   ├── deployment.yaml
│   ├── _helpers.tpl
│   ├── ingress.yaml
│   ├── NOTES.txt
│   ├── service.yaml
│   └── tests
│       └── test-connection.yaml
└── values.yaml

2、调试chart

[root@master mychare]# cd
[root@master ~]# helm install --dry-run --debug mychare
//检查这个mychare是否有问题

3、安装chart

[root@node02 ~]# docker pull nginx:stable

(1)通过仓库安装

[root@master mychare]# helm search redis
//搜索chare包
[root@master mychare]# helm repo list
//查看是否有能访问仓库

charts使用方法与Repo仓库的创建

[root@master mychare]# helm install stable/redis
//安装

(2)通过tar包安装

[root@master ~]# helm fetch stable/redis
//直接下载chare包
[root@master ~]# tar -zxf redis-1.1.15.tgz
//解压下载的chare包
[root@master ~]# tree -C redis
redis
├── Chart.yaml
├── README.md
├── templates
│   ├── deployment.yaml
│   ├── _helpers.tpl
│   ├── networkpolicy.yaml
│   ├── NOTES.txt
│   ├── pvc.yaml
│   ├── secrets.yaml
│   └── svc.yaml
└── values.yaml

(3)通过chare本地目录安装

[root@master ~]# helm fetch stable/redis
//直接下载chare包
[root@master ~]# tar -zxf redis-1.1.15.tgz
//解压下载的chare包
[root@master ~]# helm install redis

(4)通过URL安装

[root@master ~]# helm install https://example.com/charts/foo-1.2.3.tgz

创建自己的Repo仓库

1)创建helm的私有仓库,以自己的名字命名。

1、node01启动一个httpd的容器

[root@node01 ~]# mkdir /var/xgp
//创建一个目录
[root@node01 ~]# docker pull httpd
//下载httpd镜像
[root@node02 ~]# docker run -d -p 8080:80 -v /var/xgp:/usr/local/apache2/htdocs httpd
//启动一个httpd的容器

3、生成仓库的index文件。

[root@master ~]# mkdir xgprepo
//创建一个目录存放打包的chare
[root@master ~]# helm repo index xgprepo/ --url http://192.168.1.22:8080/charts
//生成仓库的index文件

4、将生成的index.yaml上传到node01的/var/www/charts目录下.

node01创建目录
[root@node01 ~]# mkdir /var/xgp/charts
master移动动到
[root@master ~]# scp xgprepo/* node01:/var/xgp/charts/
node01查看一下
[root@node01 ~]# ls /var/xgp/charts/
index.yaml  

5、添加新的repo仓库

[root@master ~]# helm repo add xgp http://192.168.1.22:8080/charts
[root@master ~]# helm repo list 

charts使用方法与Repo仓库的创建

2) 自定义一个chart包,要求这个包运行一个httpd的服务,使用私有镜像v1版本。3个副本Pod,service类型更改为NodePort,端口指定为:30000

自定义一个chart包
[root@master ~]# helm create wsd
//创建一个名为wsd的chares包
按照要求修改配置文件
[root@master ~]# cd wsd/
//进入这个chart包
[root@master wsd]# vim values.yaml
//修改wsd的配置文件
replicaCount: 3                         #三个副本

image:
  repository: 192.168.1.21:5000/web      #更改镜像为私有镜像
  tag: v1                                #镜像标签v1
  pullPolicy: IfNotPresent              

imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""

service:
  type: NodePort              #修改模式为映射端口
  port: 80
  nodePort: 30000             #添加端口

[root@master wsd]# vim templates/service.yaml 

apiVersion: v1
kind: Service
metadata:
  name: {{ include "wsd.fullname" . }}
  labels:
{{ include "wsd.labels" . | indent 4 }}
spec:
  type: {{ .Values.service.type }}
  ports:
    - port: {{ .Values.service.port }}
      targetPort: http
      protocol: TCP
      name: http
      nodePort: {{ .Values.service.nodePort }}    #“添加”能让服务识别到nodePort的端口
  selector:
    app.kubernetes.io/name: {{ include "wsd.name" . }}
    app.kubernetes.io/instance: {{ .Release.Name }}
测试一下
[root@master ~]# helm install -n wsd  wsd/ -f wsd/values.yaml 

charts使用方法与Repo仓库的创建

查看一下镜像版本
[root@master ~]# kubectl get deployments. -o wide

charts使用方法与Repo仓库的创建

访问一下
[root@master ~]# curl 127.0.0.1:30000

charts使用方法与Repo仓库的创建

3)  将实例进行更新,要求镜像生产v2版本。

私有镜像和官方镜像升级有所不同,官方的只需通过 (helm upgrade --set imageTag=“标签” 服务名称 charts包名 )进行更改标签即可,而私有镜像需通过更改values.yaml中的标签才行比较麻烦一点。

1、修改values.yaml

[root@master ~]# vim wsd/values.yaml 

# Default values for wsd.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

replicaCount: 3

image:
  repository: 192.168.1.21:5000/web
  tag: v2                            #修改标签为v2
  pullPolicy: IfNotPresent
[root@master ~]# helm upgrade wsd wsd/ -f wsd/values.yaml
//基于配置文件刷新一下wsd服务
查看一下
[root@master ~]# kubectl get deployments. -o wide

charts使用方法与Repo仓库的创建

访问一下
[root@master ~]# curl 127.0.0.1:30000

charts使用方法与Repo仓库的创建

2、使用edit进行版本更新

确定wsd这个服务开启

[root@master ~]# kubectl edit deployments. wsd

charts使用方法与Repo仓库的创建

查看一下
[root@master ~]# kubectl get deployments. -o wide

charts使用方法与Repo仓库的创建

访问一下
[root@master ~]# curl 127.0.0.1:30000

charts使用方法与Repo仓库的创建

4)重新定义一个chart包,名称为: new-test,将这个包上传到上述私有仓库中,需要用helm repo update命玲更新本地的index文件。

[root@master ~]# helm repo list 

charts使用方法与Repo仓库的创建

[root@master ~]# helm create xgp-wsd
//创建一个名为xgp-wsd的charts包

[root@master ~]# helm package xgp-wsd/
//将xgp-wsd打包在当前目录

[root@master ~]# mv xgp-wsd-0.1.0.tgz xgprepo/
//把打包文件放到仓库目录

[root@master ~]# helm repo index xgprepo/ --url http://192.168.1.22:8080/charts
//把仓库目录新加入的charts包信息记录在index.yaml中,使得其他加入的主机可以识别到,仓库的charts包

[root@master ~]# scp xgprepo/* node01:/var/xgp/charts
//将仓库目录的文件移动到httpd服务上,使各个主机可以访问,下载仓库的charts包

[root@master ~]# helm repo update 
//更新一下chart存储库

[root@master myrepo]# helm install http://192.168.1.22:8080/charts/xgp-wsd-0.1.0.tgz
//基于仓库的xgp-wsd-0.1.0.tgz包创建一个服务

查看一下

[root@master ~]# helm search xgp-wsd

charts使用方法与Repo仓库的创建

相关内容

热门资讯

特朗普下令不打了,美国的“余粮... 可以说戛然而止,快得让很多人都无法适应。前两周,每一天美国都要打击伊朗一通。就在7月24日白宫会议前...
穆杰塔巴最新表态:支持黎真主党 △伊朗最高领袖穆杰塔巴·哈梅内伊(资料图)当地时间7月26日晚,伊朗最高领袖穆杰塔巴·哈梅内伊对黎巴...
美军瘫痪一艘驶向伊朗的油轮,特... 美国总统特朗普虽下令暂停打击伊朗,但美军仍在执行对霍尔木兹海峡的封锁任务。针对美军瘫痪一艘驶向伊朗油...
“小牌大耍”的底气到底是哪里来... 澎湃首席评论员 李平这两天,“艺人李权哲乘高铁占座事件”在网上引发热议,该艺人参加的活动主办方曾发布...
越南籍船舶南海遇险沉没,中方已... 据凤凰卫视报道,一艘越南船舶7月24日夜间在越南庆和以东220海里附近遇险沉没,船上共62名越南籍人...
李权哲占座、蒙面、装死:娱乐圈... 你买了一张高铁一等座的票,找到自己的位置,18A。有人坐着。你拿出手机看了眼购票记录——没错,18A...
杭州景区咖啡店闯入1条幼蛇,仅... 夏天气温高、湿度大,蛇类活动进入高峰期,千万别被“小蛇无害”的刻板印象骗了!有些幼蛇看着迷你可爱,实...
AI开源公开信签署企业增至50... IT之家 7 月 26 日消息,英伟达、微软、IBM、Meta 等 25 家美国科技企业本周(7 月...
南阳快手短视频代运营企业的服务... 在短视频平台快速发展的背景下,企业通过快手等渠道进行内容运营已成为常见的市场动作。对于希望借助短视频...
普通人该如何跟上科技发展的步伐 这个被称作科技的词汇, 听起来既有宏大之感, 又颇为遥远, 好似仅仅归属于在实验室里专心致志钻研的科...