k8s1.18.6部署nacos
前提:集群已配置storageclass
# kubectl get sc

一、准备配置文件
1、准备文件nacos-cm.yaml
apiVersion: v1 kind: ConfigMap metadata: name: dev-nacos-cm namespace: dev-bxm data: mysql.host: "172.16.43.164" mysql.db.name: "k8s_nacos" mysql.port: "3306" mysql.user: "root" mysql.password: "123"
2、准备文件nacos-statefulet.yaml
apiVersion: apps/v1 kind: StatefulSet metadata: name: dev-nacos namespace: dev-bxm spec: serviceName: dev-nacos # 单机模式设置成1,集群模式设置成3 replicas: 1 template: metadata: labels: app: dev-nacos annotations: pod.alpha.kubernetes.io/initialized: "true" spec: # affinity: # podAntiAffinity: # requiredDuringSchedulingIgnoredDuringExecution: # - labelSelector: # matchExpressions: # - key: "app" # operator: In # values: # - nacos # topologyKey: "kubernetes.io/hostname" # serviceAccountName: nfs-client-provisioner initContainers: - name: peer-finder-plugin-install image: 172.16.43.156/app/nacos/nacos-peer-finder-plugin:1.1 imagePullPolicy: Always volumeMounts: - mountPath: /home/nacos/plugins/peer-finder name: data subPath: peer-finder containers: - name: dev-nacos imagePullPolicy: Always image: 172.16.43.156/app/nacos/nacos-server:1.4.2 resources: requests: memory: "3G" cpu: "500m" ports: - containerPort: 8848 name: client - containerPort: 9848 name: client-rpc - containerPort: 9849 name: raft-rpc - containerPort: 7848 name: old-raft-rpc env: - name: NACOS_REPLICAS # 单机模式设置成1,集群模式设置成3 value: "1" - name: SERVICE_NAME value: "dev-nacos" - name: DOMAIN_NAME value: "cluster.local" - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: MYSQL_SERVICE_HOST # 添加 mysql 访问地址的环境变量 valueFrom: configMapKeyRef: name: dev-nacos-cm key: mysql.host - name: MYSQL_SERVICE_DB_NAME valueFrom: configMapKeyRef: name: dev-nacos-cm key: mysql.db.name - name: MYSQL_SERVICE_PORT valueFrom: configMapKeyRef: name: dev-nacos-cm key: mysql.port - name: MYSQL_SERVICE_USER valueFrom: configMapKeyRef: name: dev-nacos-cm key: mysql.user - name: MYSQL_SERVICE_PASSWORD valueFrom: configMapKeyRef: name: dev-nacos-cm key: mysql.password - name: NACOS_SERVER_PORT value: "8848" - name: NACOS_APPLICATION_PORT value: "8848" - name: PREFER_HOST_MODE value: "hostname" - name: NACOS_SERVERS # 单机模式设置成nacos-0.xxxx,集群模式要添加:nacos-1.xxxx和nacos-2.xxxxx value: "dev-nacos-0.dev-nacos.dev-bxm.svc.cluster.local:8848" # value: "nacos-0.nacos-headless.uat-bxm.svc.cluster.local:8848 nacos-1.nacos-headless.uat-bxm.svc.cluster.local:8848 nacos-2.nacos-headless.uat-bxm.svc.cluster.local:8848" - name: MODE # 单机部署,value: "standalone" # 集群部署,value: "cluster" value: "standalone" volumeMounts: - name: data mountPath: /home/nacos/plugins/peer-finder subPath: peer-finder - name: data mountPath: /home/nacos/data subPath: data - name: data mountPath: /home/nacos/logs subPath: logs volumeClaimTemplates: - metadata: name: data annotations: volume.beta.kubernetes.io/storage-class: "managed-nfs-storage" spec: accessModes: [ "ReadWriteMany" ] resources: requests: storage: 10Gi selector: matchLabels: app: dev-nacos
3、准备文件nacos-service.yaml
apiVersion: v1 kind: Service metadata: name: dev-nacos namespace: dev-bxm labels: app: dev-nacos spec: type: ClusterIP # headless service clusterIP: None ports: - port: 8848 name: server targetPort: 8848 - port: 9848 name: client-rpc targetPort: 9848 - port: 9849 name: raft-rpc targetPort: 9849 ## 兼容1.4.x版本的选举端口 - port: 7848 name: old-raft-rpc targetPort: 7848 selector: app: dev-nacos
4、准备文件nacos-ingress.yaml
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: dev-nacos namespace: dev-bxm # annotations: # kubernetes.io/ingress.class: nginx # # 添加cert-manager.io/cluster-issuer注解 # cert-manager.io/cluster-issuer: "letsencrypt-prod-http01" # nginx.ingress.kubernetes.io/service-weight: '' # nginx.ingress.kubernetes.io/force-ssl-redirect: 'true' spec: rules: - host: nacos-dev.bonc.com http: paths: - path: /nacos backend: serviceName: dev-nacos servicePort: server
5、根据文件创建资源
#kubectl apply -f nacos-cm.yaml #kubectl apply -f nacos-statefulet.yaml #kubectl apply -f nacos-service.yaml #kubectl apply -f nacos-ingress.yaml
三、验证nacos可用性
配置hosts文件
172.16.43.156 nacos-dev.bonc.com


浙公网安备 33010602011771号