[kubernetes]6-5 传统dubbo服务迁移kubernetes(上)

 

6-5 传统dubbo服务迁移kubernetes(上)

先将mooc-k8s-demo文件夹拷贝到服务器上

 

先在dubbo-demo-api中执行mvn install,然后去dubbo-demo文件夹中执行mvn clean package

cd /opt/kubernetes/mooc-k8s-demo/dubbo-demo-api/

mvn install

 

 

cd /opt/kubernetes/mooc-k8s-demo/dubbo-demo/

mvn package

编译

cd target/

mkdir ROOT && cd ROOT

mv ../dubbo-demo-1.0-SNAPSHOT-assembly.tar.gz .

tar xf dubbo-demo-1.0-SNAPSHOT-assembly.tar.gz

rm -rf dubbo-demo-1.0-SNAPSHOT-assembly.tar.gz

 

 

创建一个zookeeper 然后修改dubbo.dubbo.properties里的zk的ip

docker pull zookeeper

docker run -d -p 2181:2181 --name zookeeper zookeeper

修改zk 的ip

 

sh ./bin/start.sh

cat logs/stdout.log

 

通过telnet 192.168.10.170 20880来测试dubbo端口

telnet 192.168.10.170 20880

 

dubbo>ls

com.mooc.demo.api.DemoService

 

dubbo>ls com.mooc.demo.api.DemoService

sayHello

 

dubbo>invoke com.mooc.demo.api.DemoService.sayHello("jiaminxu")    

"Hello jiaminxu"

elapsed: 13 ms.

 

 

 

停止服务

sh bin/stop.sh

 

打镜像Dockerfile如下

FROM openjdk:8-jre-alpine


COPY target/ROOT /ROOT


CMD sh /ROOT/bin/start.sh && tail -f /ROOT/logs/stdout.log

修改ROOT/bin/start.sh如下

#!/bin/bash


cd `dirname $0`
BIN_DIR=`pwd`
cd ..


DEPLOY_DIR=`pwd`
CONF_DIR=${DEPLOY_DIR}/conf


SERVER_NAME=`sed '/dubbo.application.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
SERVER_PORT=`sed '/dubbo.protocol.port/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`


if [ -z "${SERVER_NAME}" ]; then
    echo "ERROR: can not found 'dubbo.application.name' config in 'dubbo.properties' !"
	exit 1
fi




if [ -n "${SERVER_PORT}" ]; then
	SERVER_PORT_COUNT=`netstat -ntl | grep ${SERVER_PORT} | wc -l`
	if [ ${SERVER_PORT_COUNT} -gt 0 ]; then
		echo "ERROR: The ${SERVER_NAME} port ${SERVER_PORT} already used!"
		exit 1
	fi
fi


LOGS_DIR=""
if [ -n "${LOGS_FILE}" ]; then
	LOGS_DIR=`dirname ${LOGS_FILE}`
else
	LOGS_DIR=${DEPLOY_DIR}/logs
fi
if [ ! -d ${LOGS_DIR} ]; then
	mkdir ${LOGS_DIR}
fi
STDOUT_FILE=${LOGS_DIR}/stdout.log


LIB_DIR=${DEPLOY_DIR}/lib
LIB_JARS=`ls ${LIB_DIR} | grep .jar | awk '{print "'${LIB_DIR}'/"$0}'|tr "\n" ":"`


JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true "
JAVA_DEBUG_OPTS=""
if [ "$1" = "debug" ]; then
    JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n "
fi


echo -e "Starting the ${SERVER_NAME} ...\c"


${JAVA_HOME}/bin/java -Dapp.name=${SERVER_NAME} ${JAVA_OPTS} ${JAVA_DEBUG_OPTS} ${JAVA_JMX_OPTS} -classpath ${CONF_DIR}:${LIB_JARS} com.alibaba.dubbo.contai

 

构建镜像

 docker build -t dubbo:v2 .

 

启动测试

 docker run -it dubbo:v2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爷来辣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值