mkdir -p /data/yaml/default/nacos
cd /data/yaml/default/nacos
# 创建存储
vi storage.yaml
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-nacos
spec:
capacity:
storage: 1Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Delete
storageClassName: local-storage
local:
path: /data/k8s-pv-nacos
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- k8s-node1
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-nacos
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: local-storage
kubectl apply -f storage.yaml
# 创建 deployment
vi deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nacos
spec:
replicas: 1
selector:
matchLabels:
app: nacos
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
template:
metadata:
labels:
app: nacos
spec:
nodeName: k8s-node1
containers:
- name: nacos
image: docker.io/nacos/nacos-server:2.0.1
resources:
requests:
memory: "500m"
cpu: "500m"
volumeMounts:
- mountPath: /home/nacos/data/
name: data
ports:
- containerPort: 8848
env:
- name: MODE
value: "standalone"
- name: PREFER_HOST_MODE
value: "hostname"
- name: NACOS_DEBUG
value: "n"
- name: MYSQL_SERVICE_HOST
value: "172.16.16.108"
- name: MYSQL_SERVICE_DB_NAME
value: "nacos"
- name: MYSQL_SERVICE_PORT
value: "3306"
- name: MYSQL_SERVICE_USER
value: "root"
- name: MYSQL_SERVICE_PASSWORD
value: "klvchen"
volumes:
- name: data
persistentVolumeClaim:
claimName: pvc-nacos
kubectl apply -f deployment.yaml
# 创建 svc
vi svc-nodeport.yaml
apiVersion: v1
kind: Service
metadata:
name: nacos-server
spec:
type: NodePort
selector:
app: nacos
ports:
- name: http
port: 8848
targetPort: 8848
nodePort: 30058
kubectl apply -f svc-nodeport.yaml
