当前位置: 首页 > news >正文

门户网站快速制作南京江北新区房价

门户网站快速制作,南京江北新区房价,国企公司网站制作,网站开发多少工资k8s中Helm工具实践 1)安装redis-cluster 先搭建一个NFS的SC(只需要SC,不需要pvc),具体步骤此文档不再提供,请参考前面相关章节。 下载redis-cluster的chart包 helm pull bitnami/redis-cluster --untar…

k8s中Helm工具实践

1)安装redis-cluster

先搭建一个NFS的SC(只需要SC,不需要pvc),具体步骤此文档不再提供,请参考前面相关章节。

下载redis-cluster的chart包

helm pull bitnami/redis-cluster --untar #会下载一个目录下来

修改values.yaml

cd redis-cluster
vi values.yaml # 定义sc和密码storageClass: "nfs-client"redis:password: "tanglinux.com"

安装

helm install redis-cluster . ##注意,这是在chart的目录里,该目录下有values.yaml,后面的. 表示使用当前目录下的values.yaml

查看状态

helm status redis-cluster

测试

To get your password run:export REDIS_PASSWORD=$(kubectl get secret --namespace "default" redis-cluster -o jsonpath="{.data.redis-password}" | base64 -d)You have deployed a Redis® Cluster accessible only from within you Kubernetes Cluster.INFO: The Job to create the cluster will be created.To connect to your Redis® cluster:1. Run a Redis® pod that you can use as a client:
kubectl run --namespace default redis-cluster-client --rm --tty -i --restart='Never' \
--env REDIS_PASSWORD=$REDIS_PASSWORD \
--image docker.io/bitnami/redis-cluster:7.0.5-debian-11-r19 -- bash2. Connect using the Redis® CLI:redis-cli -c -h redis-cluster -a $REDIS_PASSWORD

2)应用的升级和回滚

安装好的应用,如果再次修改values.yaml(比如修改密码为tanglinux.com1),则需要做升级处理

helm upgrade redis-cluster . ##注意,这是在chart的目录里,该目录下有values.yaml

查看升级历史

helm history redis-cluster

回滚

helm rollback redis-cluster 1

自定义chart-内置对象

1)Helm chart包目录结构

创建自定义chart模板

helm create my-template

查看目录结构

tree my-template

image-20231221215808232

说明:

* Chart.yaml:用于描述这个chart的基本信息,包括名字、描述信息、版本信息等。
* values.yaml:用于存储templates目录中模板文件中用到的变量信息,也就是说template中的模板文件引用的是values.yaml中的变量。
* templates:用于存放部署使用的yaml文件模板,这里面的yaml都是通过各种判断、流程控制、引用变量去调用values中设置的变量信息,最后完成部署。* deployment.yaml:deployment资源yaml文件。* ingress.yaml:ingress资源文件。* NOTES.txt:用于接收chart的帮助信息,helm install部署完成后展示给用户,也可以时候helm status列出信息。* _helpers.tpl:放置模板助手的地方,可以在整个chart中重复使用。

**2)**helm chart模板

Helm最核心的就是模板,即模板化的K8s清单文件(如,deployment, service等),模板经过渲染后会被提交到K8s中,本质上就是Go语言的template模板,模板文件位于template/目录中。

将K8s清单文件中可能经常变动的字段,通过指定一个变量,在安装的过程中该变量将被值value动态替换掉,这个过程就是模板的渲染。

变量的值定义在values.yaml文件中,该文件中定义了变量的缺省值,但可以在helm install命令中配置新的值来覆盖缺省值。

以下为模板内置对象

Release对象

Release 对象描述了版本发布自身的一些信息。

Release.NameRelease名字
Release.NamespaceRelease所在命名空间
Release.IsUpgrade如果当前操作是升级或回滚,则将其设置为true
Release.IsInstall如果当前操作是安装,则设置为true
Release.Revision此Release 的修订版本号
Release.Service渲染此模板的服务,一般都是“Helm”

Values对象

Values 对象描述的是 values.yaml 文件中的内容,默认为空。使用 Value 对象可以获取到 values.yaml 文件中已定义的任何数值。

Values对象的值有4个来源:

  • chart包中的values.yaml文件;
  • 父chart包的values.yaml文件;
  • 通过helm install或者helm upgrade的-f 或者 --values参数传入的自定义的yaml文件(比如,helm install -f abc.yaml )
  • 通过–set传递单个参数(比如,helm install --set image=nginx:1.23.2)

优先级:–set > -f > 父chart里的values.yaml > chart里的values.yaml

Value 键值对获取方式
name: aaronValues.name
info: name: aaronValues.info.name

Chart对象

Chart 对象用于获取 chart.yaml 文件中的内容

Chart.Name获取Chart的名称
Chart.Version获取Chart的版本
Chart.apiVersion获取Chart的API版本
Chart.description获取Chart的描述
Chart.type获取Chart的类型
Chart.keywords获取Chart的一组关键字

Capabilities对象

Capabilities 对象提供了关于 Kubernetes 集群相关的信息。

Capabilities.APIVersions返回 Kubernetes 集群 API 版本信息集合
Capabilities.APIVersions.Has $version用于检测指定的版本或资源在 Kubernetes 集群中是否可用,例如 batch/v1 或 apps/v1/Deployment
Capabilities.KubeVersion用于获取 Kubernetes 的版本号
Capabilities.KubeVersion.Version用于获取 Kubernetes 的版本号
Capabilities.KubeVersion.MajorKubernetes 的主版本号
Capabilities.KubeVersion.MinorKubernetes 的小版本号

Template对象

Template 对象用于获取当前模板的信息

Template.Name用于获取当前模板的名称和路径(例如:mychart/templates/mytemplate.yaml)
Template.BasePath用于获取当前模板的路径(例如:mychart/templates)

Files对象

Files对象在chart中提供访问所有非特殊文件的对象。你不能使它访问template对象,只能访问其它文件。

Files.Get通过文件名获取文件的方法
Files.GetBytes用字节数组代替字符串获取文件内容的方法,常用于图片类的文件
Files.Glob用给定的shell glob模式匹配文件名返回文件列表的方法
Files.Lines逐行读取文件内容的方法
Files.AsSecrets使用Base64编码字符串返回文件体的方法
Files.AsConfig使用YAML格式返回文件体的方法

Chart的values

Values.yaml是Helm最重要的一个配置文件,所以我们再来研究一下它。

首先,挪走自带的values.yaml

mv values.yaml values.yaml.bak 

然后,写一个自定义的值

cat > values.yaml <<EOF
myname: tang
EOF

调用上面自定义变量的方法为:

{{ .Values.myname}}

在configmap.yaml里调用

cp -r templates/ templates.bak ##先备份一下template目录
rm -rf templates/*  ##删除掉所有模板文件cat > templates/configmap.yaml << EOF
apiVersion: v1
kind: ConfigMap
metadata:name: {{ .Release.Name }}-configmap
data:myvalue: "Hello World"myname: {{ .Values.myname }}
EOF

查看渲染效果

helm template testrelease . ## 当前目录是在测试的chart里面,假定release名字为testrelease

image-20231221220104955

但是,这个myname值是会被–set参数覆盖的,例如:

helm template testrelease . --set myname=tang

image-20231221220139455

继续修改values.yaml内容

cat > values.yaml <<EOF
myname: tang
service:type: ClusterIPport: 80
EOF

要调用上面的type,需要引用{{ Vlues.service.type}}

定义service.yaml

cat > templates/service.yaml <<EOF
apiVersion: v1
kind: Service
metadata:name: testserivcelabels:app: myapp
spec:type: {{ .Values.service.type }}ports:- port: {{ .Values.service.port }}targetPort: httpprotocol: TCPname: http
EOF

查看渲染效果:

helm template testrelease .

image-20231221220245988

Chart模板里的函数

函数列表: https://helm.sh/zh/docs/chart_template_guide/function_list/

http://www.yayakq.cn/news/666959/

相关文章:

  • 女朋友在互联网公司做网站net网站开发学习
  • 网站建设与管理的发展广州外贸网站推广
  • 广东网站建设免费深圳搜索引擎优化
  • 连锁网站开发美食网站的建设背景
  • 用drupal做的网站企业彩页设计模板
  • 用php开发wap网站怎么样学好网页设计
  • 联客易网站建设制作专业商城网站建设公司
  • 购物网站建设情况汇报多域名一个网站备案
  • 想自己搭建网站得怎么做网站开发需要用到哪些资料
  • 适合毕设做的简单网站sem可以为网站建设做什么
  • 江门市住房和城乡建设局网站微信 网站 织梦
  • 营销网站排行网站建设方案报价
  • 上海快速建设网站公司wordpress如何添加注册登录
  • dedecms做论坛网站湘潭网站建设开发
  • 网站后台登录不进去北京市文化局政务网站建设项目
  • 专注网站建设11年安徽网新科技有限公司官网
  • 一个虚拟空间可以放几个网站网页设计一般用什么软件
  • 公司做网站那个网站好莱芜网页制作公司
  • 网站 橙色公司网站建设设计公司哪家好
  • 做网站番禺开发公司移交物业资料
  • 现在网站尺寸国内低代码开发平台
  • 全英文外贸网站建设wordpress没有底部
  • 怎么查看网站的ftp全网营销包括什么
  • 网站城市分站是怎么做的申请网页空间
  • 网站制作行业用dw制作网页步骤
  • 企业网站空间多大合适wordpress 主题 导出
  • 做公司网站有什么猫腻站长工具seo综合查询可以访问
  • 电商网站开发多少钱百度找不到我的网站了
  • 做原创的网站wordpress 页面分级
  • 点开图片跳到网站怎么做django电影网站开发