K8S 搭建 nacos 2.0.1

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 

posted @ 2021-10-12 15:00  klvchen  阅读(261)  评论(0)    收藏  举报