开发者社区 > 云原生 > 正文

请问有使用openshift部署nacos集群的吗?

请问有使用openshift部署nacos集群的吗?

展开
收起
哈喽!小陈 2022-08-22 16:41:55 435 0
4 条回答
写回答
取消 提交回答
  • 创建nacos集群:

    oc apply -f nacos-pvc-nfs.yaml
    

    nacos-pvc-nfs.yaml 如下:

    ---
    apiVersion: v1
    kind: Service
    metadata:
    name: nacos-headless
    labels:
        app: nacos
    annotations:
        service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
    spec:
    ports:
        - port: 8848
        name: server
        targetPort: 8848
    clusterIP: None
    selector:
        app: nacos
    ---
    apiVersion: v1
    kind: ConfigMap
    metadata:
    name: nacos-cm
    data:
    mysql.db.name: "nacos_devtest"
    mysql.port: "3306"
    mysql.user: "nacos"
    mysql.password: "nacos"
    ---
    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
    name: nacos
    spec:
    serviceName: nacos-headless
    replicas: 3
    template:
        metadata:
        labels:
            app: nacos
        annotations:
            pod.alpha.kubernetes.io/initialized: "true"
        spec:
        serviceAccountName: useroot
        initContainers:
            - name: peer-finder-plugin-install
            image: nacos/nacos-peer-finder-plugin:1.0
            imagePullPolicy: Always
            volumeMounts:
                - mountPath: "/home/nacos/plugins/peer-finder"
                name: plugindir
        containers:
            - name: nacos
            imagePullPolicy: Always
            image: nacos/nacos-server:latest
            resources:
                requests:
                memory: "2Gi"
                cpu: "500m"
                limits:
                memory: "3Gi"
                cpu: "1" 
            ports:
                - containerPort: 8848
                name: client-port
            env:
                - name: NACOS_REPLICAS
                value: "3"
                - name: SERVICE_NAME
                value: "nacos-headless"
                - name: DOMAIN_NAME
                value: "cluster.local"
                - name: POD_NAMESPACE
                valueFrom:
                    fieldRef:
                    apiVersion: v1
                    fieldPath: metadata.namespace
                - 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: PREFER_HOST_MODE
                value: "hostname"
                - name: MYSQL_SERVICE_HOST
                value: nacos-mysql              
            volumeMounts:
                - name: plugindir
                mountPath: /home/nacos/plugins/peer-finder
                - name: datadir
                mountPath: /home/nacos/data
                - name: logdir
                mountPath: /home/nacos/logs
    volumeClaimTemplates:
        - metadata:
            name: plugindir
            annotations:
            volume.beta.kubernetes.io/storage-class: "nfs"
        spec:
            accessModes: [ "ReadWriteMany" ]
            resources:
            requests:
                storage: 5Gi
        - metadata:
            name: datadir
            annotations:
            volume.beta.kubernetes.io/storage-class: "nfs"
        spec:
            accessModes: [ "ReadWriteMany" ]
            resources:
            requests:
                storage: 5Gi
        - metadata:
            name: logdir
            annotations:
            volume.beta.kubernetes.io/storage-class: "nfs"
        spec:
            accessModes: [ "ReadWriteMany" ]
            resources:
            requests:
                storage: 5Gi
    selector:
        matchLabels:
        app: nacos
    

    ——参考链接

    2023-12-03 23:36:49
    赞同 1 展开评论 打赏
  • Nacos支持在OpenShift上进行集群部署。首先,你需要了解Nacos支持两种部署模式:单机模式和集群模式。在实践中,我们往往习惯用单机模式快速构建一个 Nacos 开发/测试环境,而在生产中,出于高可用的考虑,一定需要使用 Nacos 集群部署模式。

    对于具体的部署步骤,你可以参考以下方法:首先,部署数据库,版本要求为5.6.5+;然后,初始化mysql数据库;最后,解压nacos-server并启动命令。

    2023-11-29 23:10:15
    赞同 展开评论 打赏
  • 是的,有使用OpenShift部署Nacos集群的案例。在OpenShift平台上,可以借助Kubernetes的强大功能,方便地部署和管理Nacos集群。

    在OpenShift中部署Nacos集群,可以按照以下步骤进行操作:

    1、准备一个用于部署Nacos的OpenShift项目(project)。
    2、在项目上创建一个ConfigMap,用于存储Nacos配置文件。
    3、创建一个Service,用于暴露Nacos服务。
    4、创建一个Deployment,用于部署Nacos集群。
    5、在Deployment中,需要定义Nacos的镜像和镜像拉取地址,以及容器端口号等信息。
    6、在Deployment的配置中,可以设置环境变量和参数,以适应特定的部署需求。
    7、创建完Deployment后,等待一段时间,Nacos集群就会自动部署完成。
    在OpenShift中部署Nacos集群的过程比较简单,但需要关注一些细节问题。例如,在创建ConfigMap时,需要将Nacos配置文件拷贝到ConfigMap中;在创建Service时,需要正确设置Service的类型和端口号等。
    9837af807a02429884a90c1657240b56.png

    总之,在OpenShift平台上部署Nacos集群是可行的,但需要仔细操作,确保每个步骤都正确无误。如有需要,可以参考OpenShift和Nacos的官方文档进行详细了解和操作。

    2023-11-29 11:36:12
    赞同 1 展开评论 打赏
  • 北京阿里云ACE会长

    安装 OpenShift:首先,您需要在您的环境中安装 OpenShift。您可以参考 OpenShift 的官方文档来安装 OpenShift。

    创建 Nacos 服务:在 OpenShift 控制台上,创建一个新的服务,该服务将用于部署 Nacos 集群。为该服务分配一个域名,例如,nacos-cluster。

    创建 Nacos 配置文件:在 OpenShift 配置文件中,需要定义 Nacos 集群的参数。这些参数包括 Nacos 服务的端口号、存储路径等。您可以参考 Nacos 的官方文档来配置 Nacos。

    部署 Nacos 容器:在 OpenShift 控制台上,创建一个新的容器,该容器将用于部署 Nacos 集群。该容器的镜像应该是 Nacos 的 Docker 镜像。

    配置 Nacos 容器:在创建 Nacos 容器时,需要配置 Nacos 的参数。这些参数包括 Nacos 服务的端口号、存储路径等。您可以参考 Nacos 的官方文档来配置 Nacos。

    部署 Nacos 集群:在 OpenShift 控制台上,创建一个新的部署,该部署将用于部署 Nacos 集群。该部署应该包含 Nacos 容器的副本。

    配置 Nacos 集群:在创建 Nacos 集群时,需要配置 Nacos 的参数。这些参数包括 Nacos 服务的端口号、存储路径等。您可以参考 Nacos 的官方文档来配置 Nacos。

    启动 Nacos 集群:在 OpenShift 控制台上,启动 Nacos 集群的部署。这将会启动 Nacos 集群,并且您可以在 OpenShift 控制台上看到 Nacos 集群的状态。

    2023-11-25 22:49:26
    赞同 1 展开评论 打赏
问答分类:
问答地址:

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
Nacos架构&原理 立即下载
workshop专场-微服务专场-开发者动手实践营-微服务-使用Nacos进行服务的动态发现和流量调度 立即下载
Nacos 启航,发布第一个版本, 云原生时代助力用户微服务平台建设 立即下载