微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

K8S单机版nacos

1.创建命名空间

[root@k8s-matser01 ~]# kubectl create ns nacos

2.编辑MysqL的yaml文件

[root@k8s-matser01 ~]#  cat MysqL.yaml
apiVersion: v1
kind: ReplicationController
Metadata:
  name: MysqL
  namespace: nacos
  labels:
    name: MysqL
spec:
  replicas: 1
  selector:
    name: MysqL
  template:
    Metadata:
      labels:
        name: MysqL
    spec:
      containers:
      - name: MysqL
        image: nacos/nacos-MysqL:5.7
        ports:
        - containerPort: 3306
        volumeMounts:
        - name: nacos-MysqL
          mountPath: /var/lib/MysqL
        env:
        - name: MysqL_ROOT_PASSWORD
          value: "40010355"
        - name: MysqL_DATABASE
          value: "nacos"
        - name: MysqL_USER
          value: "nacos"
        - name: MysqL_PASSWORD
          value: "40010300"
        - name: TZ
          value: Asia/Shanghai
      volumes:
      - name: nacos-MysqL
        hostPath:
          path: /data/MysqL
          type: DirectoryOrCreate
---
apiVersion: v1
kind: Service
Metadata:
  name: MysqL
  namespace: nacos
  labels:
    name: MysqL
spec:
  ports:
  - port: 3306
    targetPort: 3306
  selector:
    name: MysqL

3.编辑nacos的yaml文件

[root@k8s-matser01 ~]# cat nacos.yaml 
---
apiVersion: v1
kind: Service
Metadata:
  name: nacos
  namespace: nacos
  labels:
    app: nacos
spec:
  type: NodePort
  ports:
    - port: 8848
      name: server
      targetPort: 8848
      nodePort: 30018
    - port: 7848
      name: rpc
      targetPort: 7848
      nodePort: 30019
  selector:
    app: nacos
---
apiVersion: v1
kind: Service
Metadata:
  name: nacos-headless
  namespace: nacos
  labels:
    app: nacos
spec:
  ports:
    - port: 8848
      name: server
      targetPort: 8848
    - port: 7848
      name: rpc
      targetPort: 7848
  clusterIP: None
  selector:
    app: nacos
---
# 链接MysqL数据库
apiVersion: v1
kind: ConfigMap
Metadata:
  name: nacos-cm
  namespace: nacos
data:
  MysqL.db.name: "nacos"
  MysqL.port: "3306"
  MysqL.user: "nacos"
  MysqL.password: "40010355"
---
apiVersion: apps/v1
kind: StatefulSet
Metadata:
  name: nacos
  namespace: nacos
spec:
  serviceName: nacos-headless
  replicas: 1
  selector:
    matchLabels:
      app: nacos
  template:
    Metadata:
      labels:
        app: nacos
    spec:
      containers:
        - name: nacos
          imagePullPolicy: Always
          image: nacos/nacos-server:latest
          resources:
            requests:
              memory: "2Gi"
              cpu: "500m"
          ports:
            - containerPort: 8848
              name: client-port
            - containerPort: 7848
              name: rpc
          env:
            - name: NACOS_REPLICAS
              value: "1"
            - name: MysqL_SERVICE_DB_NAME
              valueFrom:
                configMapKeyRef:
                  name: nacos-cm
                  key: MysqL.db.name
            - name: MysqL_SERVICE_PORT
              valueFrom:
                configMapKeyRef:
                  name: nacos-cm
                  key: MysqL.port
            - name: MysqL_SERVICE_USER
              valueFrom:
                configMapKeyRef:
                  name: nacos-cm
                  key: MysqL.user
            - name: MysqL_SERVICE_PASSWORD
              valueFrom:
                configMapKeyRef:
                  name: nacos-cm
                  key: MysqL.password
            - name: NACOS_SERVER_PORT
              value: "8848"
            - name: NACOS_APPLICATION_PORT
              value: "8848"
            - name: PREFER_HOST_MODE
              value: "hostname"
            - name: TZ
              value: Asia/Shanghai
            - name: MODE
              value: standalone

4.启动服务

[root@k8s-matser01 ~]# kubectl get pod -n nacos 
NAME          READY   STATUS    RESTARTS   AGE
MysqL-p69fz   1/1     Running   0          58m
nacos-0       1/1     Running   0          16s
[root@k8s-matser01 ~]# kubectl get svc -n nacos 
NAME             TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                         AGE
MysqL            ClusterIP   10.107.79.243   <none>        3306/TCP                        57m
nacos            NodePort    10.97.138.81    <none>        8848:30018/TCP,7848:30019/TCP   36s
nacos-headless   ClusterIP   None            <none>        8848/TCP,7848/TCP               36s

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐