在master节点上完成Harbor镜像仓库及Helm包管理工具的部署。然后使用nginx镜像自定义一个Chart,Deployment名称为nginx,副本数为1,然后将该Chart部署到default命名空间下,Release名称为web。
时间: 2024-05-15 17:16:46 浏览: 118
步骤如下:
1. 在master节点上安装Harbor镜像仓库和Helm包管理工具,具体操作可以参考官方文档或者其他教程。
2. 开始自定义Chart,首先需要创建一个文件夹,在文件夹中创建一个名为Chart.yaml的文件,内容如下:
```
apiVersion: v2
name: nginx
version: 0.1.0
description: A Helm chart for nginx deployment
```
其中,name表示Chart的名称,version表示Chart的版本号,description表示Chart的描述信息。
3. 在同一个文件夹中创建一个名为values.yaml的文件,内容如下:
```
replicaCount: 1
image:
repository: nginx
tag: latest
pullPolicy: IfNotPresent
service:
type: ClusterIP
port: 80
ingress:
enabled: false
```
其中,replicaCount表示Deployment的副本数,image表示要使用的镜像信息,service表示Service的配置信息,ingress表示Ingress的配置信息。
4. 在同一个文件夹中创建一个名为templates的文件夹,在templates文件夹中创建一个名为deployment.yaml的文件,内容如下:
```
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
labels:
app: nginx
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- containerPort: 80
```
其中,metadata表示Deployment的元数据信息,spec表示Deployment的具体配置信息,包括副本数、选择器、模板等。
5. 在同一个文件夹中创建一个名为service.yaml的文件,内容如下:
```
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
app: nginx
spec:
selector:
app: nginx
ports:
- name: http
port: 80
targetPort: 80
type: {{ .Values.service.type }}
```
其中,metadata表示Service的元数据信息,spec表示Service的具体配置信息,包括选择器、端口等。
6. 最后,在命令行中执行以下命令,将该Chart部署到default命名空间下,Release名称为web:
```
helm install web /path/to/chart/folder -n default
```
其中,/path/to/chart/folder表示Chart所在的文件夹路径。执行该命令后,会自动创建一个名为web的Release,并部署到default命名空间下。
以上就是使用Harbor和Helm自定义Chart并部署的整个过程,希望能帮助到你。
阅读全文