docker配置 nacos_「实战」K8S部署Nacos微服务

前言

1、这篇文章 花了4-5天的时间才写完的2、吐槽下自己 感觉自己有点笨啊 k8s网络访问那块卡的时间有点久3、下面再继续研究下k8s网络这块 争取先在应用层面啃的透透的4、本着负责任的态度 文章内的每一个步骤 都是我亲手实践过的5、原创不易 请无情转发 给更多的有需求的人看 如果我初次入门的时候 能有这样的一篇文章 那么也不至于这么艰难了

本地搭建Nacos环境

下载代码资源

https://gitee.com/pingfanrenbiji/nacos.git

编译Nacos

mvn -Prelease-nacos clean install -U -Dmaven.test.skip=true
81f31a17788ccef8e9bc6b7532418d68.png

启动Nacos

./distribution/target/nacos-server-1.3.0-BETA/nacos/bin/startup.sh -m standalone
b31188035c6633f143e7256fc6e65b6a.png

下载user、order代码资源

https://gitee.com/pingfanrenbiji/nacos-example.git

启动user服务

3ff26f9375dde4938e00655868c7174a.png

启动order服务

ca550e4335e7fca37168501e92c173b3.png

查看注册情况

http://127.0.0.1:8848/nacosnacos/nacos
d0658f5d298f8536adfe059a63b31aae.png

验证下 user是否能够访问order

  访问 localhost:8100/k8s  查看日志
479dcad861c61ec87857add3e9952ec1.png

将order和user服务 docker化

将order和user分别生成jar包

e1941b44803e540c27d9d6209c96656e.png

存放到同一个文件夹 目录结构如下

241a7b914b669f02e8c5549490b39381.png
aa8e11a818b0f44c28bda7c2105bf108.png

分别创建Dockerfile文件

bb95ab73d505fc22ad7356961d131cbc.png
5818007454ff980d54dd4cfef97a36e5.png

生成镜像

sudo docker build -t user-image:v1.0 .sudo docker build -t order-image:v1.0 .
bd9610178c36db522d2dcfc8992ce0a2.png

将镜像推送到阿里云docker库

  • 网址
https://cr.console.aliyun.com/cn-hangzhou/new
  • 打 tag
sudo docker tag user-image:v1.0 registry.cn-shanghai.aliyuncs.com/mengfanxiao/user-image:v1.0sudo docker tag order-image:v1.0 registry.cn-shanghai.aliyuncs.com/mengfanxiao/order-image:v1.0
  • 推送
sudo docker push registry.cn-shanghai.aliyuncs.com/mengfanxiao/user-imagesudo docker push registry.cn-shanghai.aliyuncs.com/mengfanxiao/order-image
dba3f7f97379031869b4bbcd8dcbc89e.png

k8s部署2个docker

  • 创建user.yaml
95cc4afa6fdc2d4ff10849e3f1cb54c7.png
  • 创建order.yaml
897ffb8e18732d488f03ad46649541ac.png
  • 部署
kubectl apply -f user.yamlkubectl apply -f order.yaml
  • 查看部署pods情况
kubectl get pods
107fe89a3cbeb2879f60b9197304d6ff.png
kubectl get pods -o wide
f0050dc4eb0afdd00669d1e6f8d29bd3.png
进入集群环境 查看pod之间是否可以访问kubectl run busybox --rm=true --image=busybox --restart=Never -it
235b37c9f087320db7398805fc5f1c41.png
  • 查看service
kubectl get svc
e983bf0b795a4edefd19723dfd2a7889.png
  • 查看 ingress
kubectl get ingress
b83e970d7f837546c81ab82c5daf6345.png
  • 查看user 和 order服务 是否成功注册到 nacos
3507c6437c81ff0906ea5b723cf5ce38.png
8f1aecf3b5da2de464a779f7b47af3da.png

ip为Pod的IP

06720b807e86490cd2026d17680185e0.png
至此 user 和 server 2个springboot项目 以pod的方式跑起来了 也注册到了 宿主机上的nacos服务上

问题协查方式

  • 查看pod docker imags版本号是否正确
kubectl describe pods|grep user
81e282e39b24e01d322494cbc4df3881.png
  • 查看pod docker 启动日志
kubectl logs -f order-65d5b4d858-rgnfs
  • 查看 k8s 服务启动文件 比如 order.yaml 文件 其中的端口号映射是否正确

未完待续

  • 通过 service NodeType方式访问 order
  • 通过ingress nginx方式访问user
  • 测试 user是否可以访问到 order

资源文件

https://gitee.com/pingfanrenbiji/nacos-example.git相关配置文件也在其中

参考文章

https://www.cnblogs.com/wuzhenzhao/p/12076827.htmlhttps://zhuanlan.zhihu.com/p/68700978
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值