k8s部署nacos

如果yaml文件在你的机器上显示格式有问题

找一个在线yaml校验的地方,把格式改一下,就多一个空格或者少一个空格的问题

k8s 1.26集群安装-CSDN博客

机器配置

1主2从,提前安装好k8s集群

192.168.10.106=n1

192.168.10.107=n2

192.168.10.108=m1

主节点安装nfs

yum install -y nfs-utils rpcbind

systemctl restart rpcbind
systemctl enable rpcbind
systemctl restart nfs
systemctl enable nfs

从节点安装nfs

yum -y install nfs-utils
systemctl enable nfs 

在主节点创建dev命名空间

kubectl create ns dev

查看命名空间

 kubectl get ns

创建nfs存储目录

下面的操作都是在主节点

创建nfs存储目录

mkdir -p /data/nfs/nacos/logs

mkdir -p /data/nfs/nacos/data

 把目录暴露给内网访问,就是pod会访问这些目录

vi /etc/exports 

/data/nfs/nacos/logs  *(rw,sync,no_root_squash)
/data/nfs/nacos/data  *(rw,sync,no_root_squash)

 

然后重启nfs-server

systemctl restart rpcbind
systemctl enable rpcbind
systemctl restart nfs
systemctl enable nfs

校验是否成功

showmount -e 192.168.10.108 

创建日志和数据的pv和pvc


pvc会和pv绑定
pv会放在nfs serve存储

我们的pvc都是放在dev命名空间下的

vi nacos-pv-pvc.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: nacos-logs-pv
spec:
  capacity:
    # 申请的容量,生产环境注意修改
    storage: 1Gi
  accessModes:
    - ReadWriteMany
  nfs:
    # nfs服务器地址和目录,注意修改为自己的
    server: 192.168.10.108
    path: /data/nfs/nacos/logs
  # 存储类类型,我们使用nfs
  storageClassName: "nfs"

---

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nacos-logs-pvc
  namespace: dev
spec:
  accessModes:
    - ReadWriteMany
  # 存储类类型,我们使用nfs
  storageClassName: "nfs"
  resources:
    requests:
      storage: 1Gi
  volumeName: nacos-logs-pv

---

apiVersion: v1
kind: PersistentVolume
metadata:
  name: nacos-data-pv
spec:
  capacity:
    # 申请的容量,生产环境注意修改
    storage: 1Gi
  accessModes:
    - ReadWriteMany
  nfs:
    # nfs服务器地址和目录,注意修改为自己的
    server: 192.168.10.108
    path: /data/nfs/nacos/data
  # 存储类类型,我们使用nfs
  storageClassName: "nfs"

---

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nacos-data-pvc
  namespace: dev
spec:
  accessModes:
    - ReadWriteMany
  # 存储类类型,我们使用nfs
  storageClassName: "nfs"
  resources:
    requests:
      # 申请的容量,生产环境注意修改
      storage: 1Gi
  volumeName: nacos-data-pv

执行

kubectl apply -f nacos-pv-pvc.yaml

查看pv和pvc

kubectl get pv

kubectl get pvc -n dev

创建configmap

jvm-xmn: jvm新生区的内存大小
jvm-xms: jvm永久区的最小大小
jvm-xmx: jvm永久区的最大大小
mode: nacos启动模式,因为是单点启动,所以设置为 standalone
mysql-database-num: nacos连接数据库的数量,设置为1
mysql-service-db-name: mysql当中nacos数据库的名字
mysql-service-db-param: nacos连接数据库的参数
mysql-service-host: mysql数据库的地址
mysql-service-port: mysql数据库的端口
mysql-service-user: 连接mysql的用户名
mysql-service-password: mysql的密码
spring-datasource-platform: nacos连接数据库的平台,只支持mysql

vi nacos-cm.yaml

apiVersion: v1
data:
  jvm-xmn: 64m
  jvm-xms: 128m
  jvm-xmx: 128m
  mode: standalone
  mysql-database-num: "1"
  mysql-service-db-name: nacos
  mysql-service-db-param: characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai
  mysql-service-host: 192.168.10.104
  mysql-service-password: "123456"
  mysql-service-port: "13306"
  mysql-service-user: root
  spring-datasource-platform: mysql
kind: ConfigMap
metadata:
  creationTimestamp: null
  name: nacos-cm
  namespace: dev

执行

kubectl apply -f nacos-cm.yaml

查看configmap 

kubectl get cm -n dev


部署nacos

部署有状态的pod 和service

StatefulSet 就是动态显示pod后面的名字 例如-0,-1这种结尾

并且把之前的pvc进行和pod绑定

把configmap进行挂载

先把nacos对应的mysql数据初始化sql

/*
 * Copyright 1999-2018 Alibaba Group Holding Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/******************************************/
/*   表名称 = config_info                  */
/******************************************/
CREATE TABLE `config_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) DEFAULT NULL COMMENT 'group_id',
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `c_desc` varchar(256) DEFAULT NULL COMMENT 'configuration description',
  `c_use` varchar(64) DEFAULT NULL COMMENT 'configuration usage',
  `effect` varchar(64) DEFAULT NULL COMMENT '配置生效的描述',
  `type` varchar(64) DEFAULT NULL COMMENT '配置的类型',
  `c_schema` text COMMENT '配置的模式',
  `encrypted_data_key` text NOT NULL COMMENT '密钥',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';

/******************************************/
/*   表名称 = config_info_aggr             */
/******************************************/
CREATE TABLE `config_info_aggr` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
  `content` longtext NOT NULL COMMENT '内容',
  `gmt_modified` datetime NOT NULL COMMENT '修改时间',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';


/******************************************/
/*   表名称 = config_info_beta             */
/******************************************/
CREATE TABLE `config_info_beta` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `encrypted_data_key` text NOT NULL COMMENT '密钥',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';

/******************************************/
/*   表名称 = config_info_tag              */
/******************************************/
CREATE TABLE `config_info_tag` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  `tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';

/******************************************/
/*   表名称 = config_tags_relation         */
/******************************************/
CREATE TABLE `config_tags_relation` (
  `id` bigint(20) NOT NULL COMMENT 'id',
  `tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
  `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  `nid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增长标识',
  PRIMARY KEY (`nid`),
  UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';

/******************************************/
/*   表名称 = group_capacity               */
/******************************************/
CREATE TABLE `group_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';

/******************************************/
/*   表名称 = his_config_info              */
/******************************************/
CREATE TABLE `his_config_info` (
  `id` bigint(20) unsigned NOT NULL COMMENT 'id',
  `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增标识',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  `op_type` char(10) DEFAULT NULL COMMENT 'operation type',
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `encrypted_data_key` text NOT NULL COMMENT '密钥',
  PRIMARY KEY (`nid`),
  KEY `idx_gmt_create` (`gmt_create`),
  KEY `idx_gmt_modified` (`gmt_modified`),
  KEY `idx_did` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';


/******************************************/
/*   表名称 = tenant_capacity              */
/******************************************/
CREATE TABLE `tenant_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';


CREATE TABLE `tenant_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `kp` varchar(128) NOT NULL COMMENT 'kp',
  `tenant_id` varchar(128) default '' COMMENT 'tenant_id',
  `tenant_name` varchar(128) default '' COMMENT 'tenant_name',
  `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
  `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
  `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
  `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';

CREATE TABLE `users` (
    `username` varchar(50) NOT NULL PRIMARY KEY COMMENT 'username',
    `password` varchar(500) NOT NULL COMMENT 'password',
    `enabled` boolean NOT NULL COMMENT 'enabled'
);

CREATE TABLE `roles` (
    `username` varchar(50) NOT NULL COMMENT 'username',
    `role` varchar(50) NOT NULL COMMENT 'role',
    UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
);

CREATE TABLE `permissions` (
    `role` varchar(50) NOT NULL COMMENT 'role',
    `resource` varchar(128) NOT NULL COMMENT 'resource',
    `action` varchar(8) NOT NULL COMMENT 'action',
    UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
);

INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);

INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

先创建service的yaml文件

vi nacos-svc.yaml

apiVersion: v1
kind: Service
metadata:
  name: nacos-svc
  namespace: dev
  labels:
    app: nacos
spec:
  ports:
    - port: 8848
      name: client
      targetPort: 8848
      # 如果你需要使用到NodePort或LoadBalancer暴露应用,那么你可以将这里打开
      # nodePort: 30848
    - port: 9848
      name: client-rpc
      targetPort: 9848
      # nodePort: 30948
    - port: 9849
      name: raft-rpc
      targetPort: 9849
      # nodePort: 30849
    - port: 7848
      name: old-raft-rpc
      targetPort: 7848
      # nodePort: 30748
  # 如果你需要使用到NodePort或LoadBalancer暴露应用,那么你需要注释掉clusterIP
  # 这里写死虚拟ip,找一个不占用的虚拟ip 方便在springcloud的配置访问集群内虚拟ip
  clusterIP: 172.16.32.2
  selector:
    app: nacos
  # ClusterIP, NodePort, LoadBalancer
  type: ClusterIP
  # 如果你需要使用到NodePort或LoadBalancer暴露应用,那么你需要将这里改为ClientIP
  # ClientIP, None
  sessionAffinity: None

执行

kubectl apply -f nacos-svc.yaml

查看service信息

kubectl get svc -o wide -n dev

 172.16.32.2 不要和别的ip冲突,如果有冲突在换一个地址

这个地址在springcloud项目的配置 会用到

在创建pod文件,有状态部署

 vi nacos-pod.yaml

 apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: nacos
  namespace: dev
spec:
  selector:
    matchLabels:
      app: nacos
  serviceName: nacos-svc
  replicas: 1
  template:
    metadata:
      labels:
        app: nacos
    spec:
      terminationGracePeriodSeconds: 10
      containers:
        - name: nacos
          image: nacos/nacos-server:v2.2.0
          ports:
            - containerPort: 8848
              name: client
            - containerPort: 9848
              name: client-rpc
            - containerPort: 9849
              name: raft-rpc
            - containerPort: 7848
              name: old-raft-rpc
          volumeMounts:
            - name: nacos-data
              mountPath: /home/nacos/data
            - name: nacos-logs
              mountPath: /home/nacos/logs
          env:
            - name: JVM_XMN
              valueFrom:
                configMapKeyRef:
                  key: jvm-xmn
                  name: nacos-cm
            - name: JVM_XMS
              valueFrom:
                configMapKeyRef:
                  key: jvm-xms
                  name: nacos-cm
            - name: JVM_XMX
              valueFrom:
                configMapKeyRef:
                  key: jvm-xmx
                  name: nacos-cm
            - name: MODE
              valueFrom:
                configMapKeyRef:
                  key: mode
                  name: nacos-cm
            - name: MYSQL_DATABASE_NUM
              valueFrom:
                configMapKeyRef:
                  key: mysql-database-num
                  name: nacos-cm
            - name: MYSQL_SERVICE_DB_NAME
              valueFrom:
                configMapKeyRef:
                  key: mysql-service-db-name
                  name: nacos-cm
            - name: MYSQL_SERVICE_DB_PARAM
              valueFrom:
                configMapKeyRef:
                  key: mysql-service-db-param
                  name: nacos-cm
            - name: MYSQL_SERVICE_HOST
              valueFrom:
                configMapKeyRef:
                  key: mysql-service-host
                  name: nacos-cm
            - name: MYSQL_SERVICE_PASSWORD
              valueFrom:
                configMapKeyRef:
                  key: mysql-service-password
                  name: nacos-cm
            - name: MYSQL_SERVICE_PORT
              valueFrom:
                configMapKeyRef:
                  key: mysql-service-port
                  name: nacos-cm
            - name: MYSQL_SERVICE_USER
              valueFrom:
                configMapKeyRef:
                  key: mysql-service-user
                  name: nacos-cm
            - name: SPRING_DATASOURCE_PLATFORM
              valueFrom:
                configMapKeyRef:
                  key: spring-datasource-platform
                  name: nacos-cm
      volumes:
        - name: nacos-data
          persistentVolumeClaim:
            claimName: nacos-data-pvc
        - name: nacos-logs
          persistentVolumeClaim:
            claimName: nacos-logs-pvc

执行

 kubectl apply -f nacos-pod.yaml

查看pod信息

kubectl get pods -o wide -n dev

拉取镜像需要5分钟,可以通过下面的命令查看详细信息

 kubectl describe pod nacos-0 -n dev

 虽然部署了pod和service 但是只能在集群内部访问,不能在浏览器访问

所以需要ingress 暴漏service 才能在浏览器访问

ingress可以理解为nginx


用ingress暴露nacos的service,可以在浏览器访问地址

安装ingress

kubectl apply -f http://manongbiji.oss-cn-beijing.aliyuncs.com/ittailkshow/k8s/download/ingress-nginx-1.5.1.yaml

查看ingress暴露的端口号31266

kubectl get all -n ingress-nginx

 

创建ingress的nacos配置

service下面的name和要nacos的service的name一致

并且number也要和service的port一致

cat > ingress-nacos.yaml <<-'EOF'
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-nacos
  namespace: dev
  annotations:
    #直接映射至根路径
    ingress.kubernetes.io/rewrite-target: /
spec:
  ingressClassName: nginx
  rules:
  - http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: nacos-svc
            port:
              number: 8848      
EOF

执行

kubectl apply -f ingress-nacos.yaml

查看ingress

kubectl get ingress -n dev

在浏览器通过ingress的31266端口访问nacos

随便找一个节点的ip访问都行

http://192.168.10.108:31266/nacos

Springcloud配置nacos地址 

在这里一定要注意,地址配置的是虚拟ip的地址,端口号必须是8848

就是在svc写死的地址

在idea是不能启动的,会报错,因为是集群内的地址,所以我们要把项目打包上传到服务器

spring.cloud.nacos.discovery.server-addr=172.16.32.2:8848

上传到服务器 启动之后,可以看到启动成功了

 通过ingress暴露的端口访问naocs,可以看到服务已经注册上去了

http://192.168.10.108:31266/nacos

数据都会在nfs目录存储

 

配置nacos使用无头服务

 就是集群ip 设置为None,使用service的名字nacos-svc去访问

clusterIP: None

nodePort 全部注释

在springcloud的项目配置 使用下面的配置信息,不需要输入8848端口

service的名字.命名空间.svc.cluster.local 

spring.cloud.nacos.discovery.server-addr=nacos-svc.dev.svc.cluster.local

然后把项目部署到k8s中,使用ingress 对应的ip 去访问nacos

使用从节点ip访问,这时候就不能是主节点ip了

http://192.168.10.107:31266/nacos

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值