k8s 部署nacos的stateful文件
时间: 2024-05-01 07:16:03 浏览: 84
部署k8s过程中的文件
下面是一个简单的 Kubernetes 部署 Nacos 的 statefulset 文件示例:
```yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: nacos
spec:
replicas: 3 # 副本数
serviceName: nacos
selector:
matchLabels:
app: nacos
template:
metadata:
labels:
app: nacos
spec:
containers:
- name: nacos
image: nacos/nacos-server:latest # Nacos 镜像
ports:
- containerPort: 8848 # Nacos 监听端口
volumeMounts:
- name: nacos-config # 挂载配置文件
mountPath: /home/nacos/init.d/custom.properties
subPath: custom.properties
- name: nacos-data # 挂载数据文件
mountPath: /home/nacos/nacos-data
volumeClaimTemplates: # 定义 PVC 模板
- metadata:
name: nacos-data
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi # 存储空间大小
- metadata:
name: nacos-config
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Mi # 存储空间大小
```
在上述 YAML 文件中,我们定义了一个名为 `nacos` 的 StatefulSet,它包括了 3 个 Pod。每个 Pod 中都运行了一个名为 `nacos` 的容器,该容器使用了 Nacos 最新版本的 Docker 镜像。此外,我们还定义了两个 PVC 模板,一个用于存储 Nacos 的配置文件,另一个用于存储 Nacos 的数据文件。这些 PVC 将会被自动创建并挂载到每个 Pod 中,从而确保每个 Pod 都具有相同的配置和数据。
阅读全文