【实战】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 

启动Nacos

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

下载user、order代码资源

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

启动user服务

【实战】K8S部署Nacos微服务_第1张图片

启动order服务

【实战】K8S部署Nacos微服务_第2张图片

查看注册情况

http://127.0.0.1:8848/nacos

nacos/nacos

【实战】K8S部署Nacos微服务_第3张图片

验证下 user是否能够访问order

  访问 localhost:8100/k8s
  查看日志

将order和user服务 docker化

将order和user分别生成jar包

【实战】K8S部署Nacos微服务_第4张图片

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

【实战】K8S部署Nacos微服务_第5张图片

【实战】K8S部署Nacos微服务_第6张图片

分别创建Dockerfile文件

【实战】K8S部署Nacos微服务_第7张图片

生成镜像

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

 

将镜像推送到阿里云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.0

sudo 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-image

sudo docker push registry.cn-shanghai.aliyuncs.com/mengfanxiao/order-image

k8s部署2个docker

  • 创建user.yaml

【实战】K8S部署Nacos微服务_第8张图片

  • 创建order.yaml

【实战】K8S部署Nacos微服务_第9张图片

  • 部署

kubectl apply -f user.yaml
kubectl apply -f order.yaml 

  • 查看部署pods情况

kubectl get pods

kubectl get pods -o wide

进入集群环境 查看pod之间是否可以访问

kubectl run busybox --rm=true --image=busybox --restart=Never -it

  • 查看service

kubectl get svc

  • 查看 ingress

kubectl get ingress

  • 查看user 和 order服务 是否成功注册到 nacos

【实战】K8S部署Nacos微服务_第10张图片

【实战】K8S部署Nacos微服务_第11张图片

ip为Pod的IP

【实战】K8S部署Nacos微服务_第12张图片

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

问题协查方式

  • 查看pod docker imags版本号是否正确

kubectl describe pods|grep user

  • 查看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.html
https://zhuanlan.zhihu.com/p/68700978

本文使用 mdnice 排版

你可能感兴趣的:(【实战】K8S部署Nacos微服务)