部署微服务
准备源码:
可以去github或者gitee上拉取源码
使用maven 进行打包
--- 1. 将源码上传到服务器并解压缩进入目录
--- 2. 安装maven
apt install -y maven
--- 3. 使用maven 进行打包
制作镜像
这里因为我们没有docker,所以无法制作dockerfile,但是我们可以使用containerd官方推荐的nerdctl 来平替dockerfile 其语法和dockerfile几乎一样
--- 1. 下载 nerdctl
wget https://github.com/containerd/nerdctl/releases/download/v1.7.6/nerdctl-full-1.7.6-linux-amd64.tar.gz
tar xf nerdctl-full-1.7.6-linux-amd64.tar.gz -C /usr/local/
--- 2. 启动nerdctl 用于构建
systemctl enable --now buildkit
--- 3. 测试命令
nerdctl --help
--- 4. 制作Containerfile镜像 cat Containerfile
FROM docker.xuanyuan.me/openjdk:8-jdk
ENV PARAMS="--server.port=8080 --spring.profiles.active=prod --spring.cloud.nacos.discovery.server-addr=10.88.0.27:8848 --spring.cloud.nacos.config.server-addr=10.88.0.27:8848 --spring.cloud.nacos.config.namespace=prod --spring.cloud.nacos.config.file-extension=yml"
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
COPY target/*.jar /app.jar
EXPOSE 8080
ENTRYPOINT ["/bin/sh","-c","java -Dfile.encoding=utf8 -Djava.security.egd=file:/dev/./urandom -jar app.jar ${PARAMS}"]
###
1、容器默认以8080端口启动
2、时间为CST
3、环境变量 PARAMS 可以动态指定配置文件中任意的值,应用上云打包镜像启动会自动激活生产环境prod,然后去nacos配置中心中找xxxxx-prod.yml配置文件。
4、nacos集群内地址为 10.88.0.27:8848
5、微服务默认启动加载 nacos中 服务名-激活的环境.yml 文件,所以线上的配置可以全部写在nacos中。
--- 5. 打包镜像并推送
nerdctl build -t 192.168.0.77:32237/uat/ruoyi-gateway:v1.2 .
x
--- 目录准备
ruoyi-gateway
├── deployment.yaml
└── service.yaml
--- 6. 部署deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: ruoyi-gateway
labels:
app: ruoyi-gateway
spec:
replicas: 1
selector:
matchLabels:
app: ruoyi-gateway
template:
metadata:
labels:
app: ruoyi-gateway
spec:
containers:
- name: ruoyi-gateway
image: 192.168.0.77:32237/uat/ruoyi-gateway:v1.2
ports:
- containerPort: 8080
--- 查看日志,出现以下便是启动成功
kubectl logs -f [pod]
......
(♥◠‿◠)ノ゙ 若依网关启动成功 ლ(´ڡ`ლ)゙
.-------. ____ __
| _ _ \ \ \ / /
| ( ' ) | \ _. / '
|(_ o _) / _( )_ .'
| (_,_).' __ ___(_ o _)'
| |\ \ | || |(_,_)'
| | \ `' /| `-' /
| | \ / \ /
''-' `'-' `-..-'
...
--- 7. 部署 service
apiVersion: v1
kind: Service
metadata:
name: ruoyi-gateway
spec:
selector:
app: ruoyi-gateway
type: NodePort
ports:
- port: 8080
targetPort: 8080
nodePort: 30087
评论