Skip to content

Commit c09d1a2

Browse files
mouuiigitbook-bot
authored andcommitted
GITBOOK-183: No subject
1 parent 274cbff commit c09d1a2

File tree

3 files changed

+40
-41
lines changed

3 files changed

+40
-41
lines changed

SUMMARY.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
* [4.16 k8s GC](k8s-yuan-ma-ren-cai-fu-hua-xun-lian-ying/controller-manager/4.16-k8s-gc.md)
4444
* [第五章: apiserver 源码解析](k8s-yuan-ma-ren-cai-fu-hua-xun-lian-ying/di-wu-zhang-apimachinery/README.md)
4545
* [5.1 核心数据结构分析](k8s-yuan-ma-ren-cai-fu-hua-xun-lian-ying/di-wu-zhang-apimachinery/5.1-k8s-he-xin-shu-ju-jie-gou-fen-xi.md)
46-
* [5.2 apimachinery 初识](k8s-yuan-ma-ren-cai-fu-hua-xun-lian-ying/di-wu-zhang-apimachinery/5.2-shen-me-shi-apimachinery.md)
46+
* [5.2 apimachinery 初识](k8s-yuan-ma-ren-cai-fu-hua-xun-lian-ying/di-wu-zhang-apimachinery/5.2-shen-me-shi-apimachinery.md)
4747
* [5.3 api-conventions(翻译)](k8s-yuan-ma-ren-cai-fu-hua-xun-lian-ying/di-wu-zhang-apimachinery/5.2-api-conventions.md)
4848
* [5.6 服务端和客户端 apply](k8s-yuan-ma-ren-cai-fu-hua-xun-lian-ying/di-wu-zhang-apimachinery/5.6-fu-wu-duan-he-ke-hu-duan-apply.md)
4949
* [5.7 pod 生命周期和 conditions 浅析](k8s-yuan-ma-ren-cai-fu-hua-xun-lian-ying/di-wu-zhang-apimachinery/5.7-pod-sheng-ming-zhou-qi-he-conditions-qian-xi.md)
@@ -69,7 +69,6 @@
6969
## 开发者要懂的 k8s
7070

7171
* [1 在 k8s 上部署应用](kai-fa-zhe-yao-dong-de-k8s/1-zai-k8s-shang-bu-shu-ying-yong.md)
72-
* [Page](kai-fa-zhe-yao-dong-de-k8s/page.md)
7372

7473
## k8s源码每日新闻
7574

helm-jiao-cheng/03.md

Lines changed: 39 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# 如何创建 Helm chart
1+
# 03-制作chart
2+
3+
## 如何创建 Helm chart
24

35
使用 Helm CLI 生成 charts 目录。输入以下命令创建新 chart:
46

@@ -14,66 +16,66 @@ helm create phoenixnap
1416

1517
Helm chart 目录包含以下内容:
1618

17-
- ***charts*** - 存储相关 charts 的目录
18-
- ***templates*** - 配置文件的目录
19-
- ***Chart.yaml*** - 包含 charts 元数据的文件
20-
- ***values.yaml*** - 包含默认参数值的文件
19+
* _**charts**_ - 存储相关 charts 的目录
20+
* _**templates**_ - 配置文件的目录
21+
* _**Chart.yaml**_ - 包含 charts 元数据的文件
22+
* _**values.yaml**_ - 包含默认参数值的文件
2123

22-
# 如何配置 Helm Chart
24+
## 如何配置 Helm Chart
2325

24-
配置 Helm Chart 涉及自定义参数,例如**镜像拉取策略****名称覆盖****服务帐户****服务类型**请按照以下步骤了解如何在*values.yaml*文件中编辑这些参数
26+
配置 Helm Chart 涉及自定义参数,例如**镜像拉取策略****名称覆盖****服务帐户****服务类型**请按照以下步骤了解如何在_values.yaml_文件中编辑这些参数
2527

26-
## 配置镜像拉取策略
28+
### 配置镜像拉取策略
2729

28-
镜像拉取策略决定如何从注册表中拉取容器镜像。默认策略值为**`IfNotPresent`** ,这意味着 Kubernetes 仅当系统上尚不存在映像时才拉取该映像,下面我们尝试将策略改变为 Always:
30+
镜像拉取策略决定如何从注册表中拉取容器镜像。默认策略值为\*\*`IfNotPresent`\*\* ,这意味着 Kubernetes 仅当系统上尚不存在映像时才拉取该映像,下面我们尝试将策略改变为 Always:
2931

30-
1. 打开*value.yaml*文件
31-
2. 修改 image.pullPolicy 为 Always
32+
1. 开_value.yaml_文
33+
2. 修改 image.pullPolicy 为 Always
3234

3335
![image](https://github.com/user-attachments/assets/cad336eb-39ed-4a60-8cf4-ee986f91f513)
3436

3537
![image](https://github.com/user-attachments/assets/a40229ab-01e9-4774-97eb-a0ea32a88787)
3638

37-
## chart 名称覆盖
39+
### chart 名称覆盖
3840

39-
要覆盖*value.yaml*文件中的chart名称,请将值添加到 *nameOverride **fullnameOverride* 字段。以下示例添加 *phoenix-app* 作为 *nameOverride* 值,并将*phoenix-chart*n 添加为 *fullnameOverride*
41+
要覆盖_value.yaml_文件中的chart名称,请将值添加到 _nameOverride 和 fullnameOverride 字段。以下示例添加 phoenix-app 作为 nameOverride 值,并将phoenix-chart_n 添加为 _fullnameOverride_
4042

4143
![image](https://github.com/user-attachments/assets/b4622cdc-0d0c-49b9-97e3-becbbe749e83)
4244

43-
## 指定 service account名称
45+
### 指定 service account名称
4446

4547
Helm chart 的 service account 名称是在运行集群时生成的。但是,最好手动设置它并确保应用程序直接与chart 中的受控用户关联。
4648

4749
![image](https://github.com/user-attachments/assets/69917499-7551-4591-b7c9-e7b9a5412fab)
4850

49-
## 更改网络服务类型
51+
### 更改网络服务类型
5052

51-
根据集群的不同,部署可能需要不同的网络服务类型。例如,使用[Minikube](https://phoenixnap.com/kb/install-minikube-on-ubuntu)进行测试时,推荐的网络服务类型为*NodePort*
53+
根据集群的不同,部署可能需要不同的网络服务类型。例如,使用[Minikube](https://phoenixnap.com/kb/install-minikube-on-ubuntu)进行测试时,推荐的网络服务类型为_NodePort_
5254

53-
要更改网络服务类型,请找到*服务*部分并更改*类型*字段中的值。下面的示例显示了设置为新服务类型的*NodePort*
55+
要更改网络服务类型,请找到_服务_部分并更改_类型_字段中的值。下面的示例显示了设置为新服务类型的_NodePort_
5456

5557
![image](https://github.com/user-attachments/assets/8e8a441a-e67a-43bd-b54c-6d57aa503d67)
5658

57-
# 如何在 Kubernetes 上部署新的 Helm Chart
59+
## 如何在 Kubernetes 上部署新的 Helm Chart
5860

59-
配置*values.yaml*文件后,使用[Helm命令](https://phoenixnap.com/kb/helm-commands-cheat-sheet)部署应用程序。继续执行以下步骤来完成此操作。
61+
置_values.yaml_文件后,使用[Helm命令](https://phoenixnap.com/kb/helm-commands-cheat-sheet)部署应用程序。继续执行以下步骤来完成此操作。
6062

61-
## 第 1 步:安装 Helm Chart
63+
### 第 1 步:安装 Helm Chart
6264

6365
```shell
6466
helm install phoenix-chart phoenixnap/ --values phoenixnap/values.yaml
6567
```
6668

6769
![image](https://github.com/user-attachments/assets/bdee469a-43ed-4671-9df2-e8e2b80a56d3)
6870

69-
### 步骤2:导出节点端口和IP地址
71+
#### 步骤2:导出节点端口和IP地址
7072

7173
```shell
7274
export NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services phoenix-chart)
7375
export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}")
7476
```
7577

76-
### 步骤3:查看已部署的应用程序
78+
#### 步骤3:查看已部署的应用程序
7779

7880
```shell
7981
echo http://$NODE_IP:$NODE_PORT
@@ -85,9 +87,9 @@ echo http://$NODE_IP:$NODE_PORT
8587

8688
![image](https://github.com/user-attachments/assets/87e45dfc-e4e1-474d-826f-6a72a5665b4d)
8789

88-
# 从头开始创建(选读)
90+
## 从头开始创建(选读)
8991

90-
## templates
92+
### templates
9193

9294
你也可以不仅仅只是修改,你可以重新创建这个样例
9395

@@ -139,13 +141,13 @@ spec:
139141
140142
首先,您需要弄清楚哪些值可以改变或者您想要模板化哪些值。我正在选择**name** 、 **replicas 、容器名称、image、** **imagePullPolicy**和**configMap Name** ,我在 YAML 文件中以粗体突出显示了这些名称。
141143
142-
- name:`{{ .Release.Name }}-nginx` :我们每次都需要更改部署名称,因为 Helm 不允许我们安装同名的版本。因此,我们将使用版本名称模板化部署名称,并随之插入**-nginx** 。现在,如果我们使用名称**frontend**创建一个版本,则部署名称将为**frontend-nginx** 。这样,我们就能保证名称的唯一性。
143-
- container name :`{{ .Chart.Name }}` :对于容器名称,我们将使用 Chart 对象并使用**Chart.yaml**中的chart名称作为容器名称。
144-
- replicas :` {{ .Values.replicaCount }}`我们将从**values.yaml**文件中访问副本值。
145-
- image: **`"{{ .Values.image.repository }}:{{ .Values.image.tag }}"` 在这里,我们在一行中使用多个模板指令,并从 Values 文件中访问图像键下的存储库和标签信息。**
146-
- configmap name: `{{ .Release.Name }}-index-html-configmap.` 这里我们将发布名称添加到配置映射中。
144+
* name:`{{ .Release.Name }}-nginx` :我们每次都需要更改部署名称,因为 Helm 不允许我们安装同名的版本。因此,我们将使用版本名称模板化部署名称,并随之插入\*\*-nginx\*\* 。现在,如果我们使用名称**frontend**创建一个版本,则部署名称将为**frontend-nginx** 。这样,我们就能保证名称的唯一性。
145+
* container name :`{{ .Chart.Name }}` :对于容器名称,我们将使用 Chart 对象并使用**Chart.yaml**中的chart名称作为容器名称。
146+
* replicas : `{{ .Values.replicaCount }}`我们将从**values.yaml**文件中访问副本值。
147+
* image: **`"{{ .Values.image.repository }}:{{ .Values.image.tag }}"` 在这里,我们在一行中使用多个模板指令,并从 Values 文件中访问图像键下的存储库和标签信息。**
148+
* configmap name: `{{ .Release.Name }}-index-html-configmap.` 这里我们将发布名称添加到配置映射中。
147149

148-
这是应用模板后的最终**`deployment.yaml`**文件。模板化部分以粗体突出显示。将部署文件内容替换为以下内容。
150+
这是应用模板后的最终\*\*`deployment.yaml`\*\*文件。模板化部分以粗体突出显示。将部署文件内容替换为以下内容。
149151

150152
```yaml
151153
apiVersion: apps/v1
@@ -196,9 +198,9 @@ spec:
196198
targetPort: {{ .Values.service.targetPort }}
197199
```
198200

199-
在**协议模板指令**中,您可以看到一个竖线`( | )` 。它用于定义协议的默认值为TCP。这意味着,如果我们不在**`values.yaml`**文件中定义协议值或者它为空,它将采用TCP作为协议的默认值。
201+
在**协议模板指令**中,您可以看到一个竖线`( | )` 。它用于定义协议的默认值为TCP。这意味着,如果我们不在\*\*`values.yaml`\*\*文件中定义协议值或者它为空,它将采用TCP作为协议的默认值。
200202

201-
创建**`configmap.yaml`**并向其中添加以下内容。在这里,我们将默认的 Nginx **index.html**页面替换为自定义 HTML 页面。此外,我们添加了一个模板指令来替换 HTML 中的环境名称。
203+
创建\*\*`configmap.yaml`\*\*并向其中添加以下内容。在这里,我们将默认的 Nginx **index.html**页面替换为自定义 HTML 页面。此外,我们添加了一个模板指令来替换 HTML 中的环境名称。
202204

203205
```yaml
204206
apiVersion: v1
@@ -215,9 +217,9 @@ data:
215217
</html
216218
```
217219

218-
## values
220+
### values
219221

220-
`values.yaml`文件包含我们在模板中使用的模板指令中需要替换的所有值。现在,将默认的**`values.yaml`**内容替换为以下内容。
222+
`values.yaml`文件包含我们在模板中使用的模板指令中需要替换的所有值。现在,将默认的\*\*`values.yaml`\*\*内容替换为以下内容。
221223

222224
```yaml
223225
replicaCount: 2
@@ -250,15 +252,15 @@ nginx-chart
250252
└── values.yaml
251253
```
252254

253-
## 验证 Helm chart
255+
### 验证 Helm chart
254256

255257
现在为了确保我们的chart有效并且所有缩进都正常,我们可以运行以下命令。确保您位于chart目录内。
256258

257259
```shell
258260
helm lint .
259261
```
260262

261-
如果您从**`nginx-chart`**目录外部执行它,请提供**`nginx-chart`**的完整路径
263+
如果您从\*\*`nginx-chart`**目录外部执行它,请提供**`nginx-chart`\*\*的完整路径
262264

263265
```shell
264266
helm lint /path/to/nginx-chart
@@ -285,4 +287,4 @@ helm template .
285287
helm install --dry-run my-release nginx-chart
286288
```
287289

288-
xxxxxxxxxx helm plugin install <path/url1>     # Install pluginshelm plugin list                    # View a list of all installed pluginshelm plugin update <plugin>         # Update pluginshelm plugin uninstall <plugin>      # Uninstall a pluginbash
290+
xxxxxxxxxx helm plugin install \<path/url1> # Install pluginshelm plugin list # View a list of all installed pluginshelm plugin update # Update pluginshelm plugin uninstall # Uninstall a pluginbash

kai-fa-zhe-yao-dong-de-k8s/page.md

Lines changed: 0 additions & 2 deletions
This file was deleted.

0 commit comments

Comments
 (0)