SpringCloudAlibaba实战(三):Kubernetes Nacos

  参考Nacos官网在Kubernetes上部署StatefulSets类型的Nacos(单机/集群)。


快速开始

  为了理解各类参数的意义和用法,对nacos镜像内配置文件和启动脚本进行分析。

1.Clone 项目

git clone https://github.com/nacos-group/nacos-k8s.git

2.镜像说明

  查看YAMlw文件可知官方教程使用的初始化容器镜像是:nacos/nacos-peer-finder-plugin:1.0,镜像则是:nacos/nacos-server:latest

  • nacos-peer-finder-plugin
      这个镜像唯一的作用是安装 peer-finder插件相关的脚本到指定目录(plugins/peer-finder/),结束后就死亡。peer-finder插件的功能是轮询(1秒)指定的k8s service ,如果service下面的pod地址列表发生变化,则重新写入Cluster.conf文件,以便实现nacos的动态扩容。
  • nacos-server
      nacos本体镜像,镜像启动时,除了启动自身的服务外,还会同时调用peer-finder-plugin-install 安装好的脚本启动peer-finder。

3.nacos-server镜像启动脚本及配置文件

  这里先跳过部署的内容,先来看看部署好以后镜像的启动脚本,主要看一下${}的地方,这些是部署时根据需要可以传入的一些配置信息:

  • 启动脚本
      容器内文件位置:/home/nacos/bin/docker-startup.sh
#!/bin/bash
#set -x 执行指令后,会先显示该指令及所下的参数。
set -x
# 这里定义了一些环境变量
export DEFAULT_SEARCH_LOCATIONS="classpath:/,classpath:/config/,file:./,file:./config/"
export CUSTOM_SEARCH_LOCATIONS=${DEFAULT_SEARCH_LOCATIONS},file:${BASE_DIR}/conf/,${BASE_DIR}/init.d/
export CUSTOM_SEARCH_NAMES="application,custom"
export MEMBER_LIST=""
# 这里定义了插件的目录
PLUGINS_DIR="/home/nacos/plugins/peer-finder"
# 如果目录不存在 则加载${NACOS_SERVERS}到$CLUSTER_CONF 存在则启动插件
function print_servers(){
   
   if [[ ! -d "${PLUGINS_DIR}" ]]; then
    echo "" > "$CLUSTER_CONF"
    for server in ${NACOS_SERVERS}; do
            echo "$server" >> "$CLUSTER_CONF"
    done
   else
    bash $PLUGINS_DIR/plugin.sh
   sleep 30
        fi
}
#===========================================================================================
# JVM 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值