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

k8s的包管理工具(5)--读取文件内容

文章目录

  • 一、概述
  • 二、获取文件内容
    • 1. 使用方法
    • 2. 示例

一、概述

helm3中可通过.Files对象并结合方法获取文件内容,包含文件名称和文件具体内容。
通过这样的方式获取的文件内容不能是chart包创建后默认生成的文件内容,以下文件中的内容都无法获取到

mychart/
├── charts/
├── templates/
├── Chart.yaml
└── values.yaml

在chart包内手动创建的文件夹,里面的文件内容可被获取

mychart/
├── charts/
├── templates/
├── files/           # 只有这里的文件可以被 .Files.Get 访问
│   ├── config.json
│   └── data.txt
├── Chart.yaml
└── values.yaml

引用文件时,文件目录是相当路径,相当chart/

二、获取文件内容

1. 使用方法

获取文件内容的方法

data: {{ .Files.Get "文件目录" }}   注意为相对目录

按找行获取文件内容

data: {{ .Files.Lines "文件目录" }} 

获取文件路径和内容

# 获取目录下所有文件路径
{{ .Files.Glob "目录/*" }}## 递归匹配
{{ .Files.Glob "目录/**" }}

2. 示例

.Files.Get获取文件内容

创建chart包

[root@k8s-master m1]# helm create chart[root@k8s-master m1]# cd chart/
[root@k8s-master chart]# rm -rf templates/*
[root@k8s-master chart]# echo "" > values.yaml 

创建文件

[root@k8s-master chart]# mkdir file
[root@k8s-master chart]# cat file/test.txt 
test

获取文件所有内容

[root@k8s-master chart]# cat templates/configmap.yaml 
apiVersion: v1
kind: ConfigMap
metadata:name: {{ .Release.Name }}
data:file: {{ .Files.Get "file/test.txt" }}

试运行查看结果

# Source: chart/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:name: chart
data:file: test

.Files.Lines获取文件内容

逐行遍历文件内容

[root@k8s-master m1]# cat chart/templates/configmap.yaml 
apiVersion: v1
kind: ConfigMap
metadata:name: {{ .Release.Name }}
data:
{{- range $index,$line := .Files.Lines "file/test.txt" }}{{ if $line }}{{ $index }}: {{ $line | quote }}{{- end }}
{{- end }}[root@k8s-master m1]# cat chart/file/test.txt 
test1
test2
test3
test4

试运行结果

# Source: chart/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:name: chart
data:0: "test1"1: "test2"2: "test3"3: "test4"

.Files.Glob获取文件路径

[root@k8s-master m1]# touch chart/file/test{2..4}.txt
[root@k8s-master m1]# mkdir -p chart/file/file1/test{1..3}.txt

获取文件路径

[root@k8s-master m1]# cat chart/templates/configmap.yaml 
apiVersion: v1
kind: ConfigMap
metadata:name: {{ .Release.Name }}
data:
{{- range $path,$content := .Files.Glob "file/*" }}{{ $path }}: {{ $content }}
{{- end }}# 如果只想要路径,可以如下
{{- range $path,$_ := .Files.Glob "file/*" }}path: {{ $path }}
{{- end }}

试运行结果

# Source: chart/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:name: chart
data:file/test.txt: "test1\ntest2\ntest3\ntest4\n"file/test2.txt: ""file/test3.txt: ""file/test4.txt: ""

学习内容参考:helm3实战

http://www.dtcms.com/a/601310.html

相关文章:

  • AXI-5.4 Protocol errors
  • 动易网站后台帮人做彩票网站有事吗
  • 购物网站php模板周口市网站建设
  • 装饰公司网站模板下载建设网站的内容及实现方式
  • Kubernetes 学习笔记
  • 【自然语言处理】基于统计基的句子边界检测算法
  • 数据智能开发三 数据架构设计
  • 数据治理进阶——解读数据平台数据治理与建设方案【附全文阅读】
  • 基于OpenAI与DashScope的AI知识面试模拟系统实现
  • 嘉兴市南湖区城乡规划建设局网站做年报的网站怎么登不上去了
  • IntelliJ IDEA 2025.2.4 安装 MybatisX 不生效问题记录
  • Java 大视界 -- Java 大数据机器学习模型在自然语言生成中的可控性研究与应用实战
  • Langchain的LCEL组件
  • 南阳网站建设制作价格网站建设实践试卷
  • T型槽平台:工业制造中的多功能基础工装
  • 展示 Ansys 增材制造解决方案
  • PcVue播客系列 - E2 | 智慧制造、人工智能与工业模拟的未来 —— 对话 Andrew Siprelle
  • 广州广告网站建设图片网站源码
  • 有的app不能通过应用商城更新
  • 价格变化的效率问题
  • 仓颉三方库开发实战:sanitize_html 实现详解
  • 逻辑回归以及python(sklearn)详解
  • RESTful规范
  • 四川高端网站建设女生做网站开发
  • PDF转图片:轻松实现工程图纸的高效共享与高清展示
  • 【ZeroRange WebRTC】ICE 服务器列表解析(KVS WebRTC)
  • 【考证资讯】注意!2026 年HCIE实验考试内容重要调整!
  • uni-app中表格分页
  • LeetCode hot100:142 环形链表 II:寻找环的入口节点
  • vue下载依赖报错npm ERR node-sass@4.14.1 postinstall: `node scripts/build.js`的解决方法