文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python 模拟Spring Cloud+k8s发布

2023-01-31 08:27

关注

在上一篇文章,链接如下:

https://www.cnblogs.com/xiao987334176/p/12260474.html

在一台服务器上面,使用6个django项目,演示了一下Spring Cloud

下面将详细介绍,如何使用k8s发布。

 

环境说明

1.png

 

 

MySQL

继续使用1.0版本中的mysql

 

url转发

1.png

 

 

说明

以svc-gateway.default.svc.cluster.local为例:

svc-gateway 表示service名

default 表示命名空间

svc.cluster.local 表示service的cluster ip

 

项目下载地址:

https://github.com/py3study/django-spring-cloud

 

封装镜像

django基础镜像

cd django-spring-cloud/2.0/django_base
docker build -t django:2.2.4 .

 

eureka

cd django-spring-cloud/2.0/eureka
docker build -t eureka:v1 .

 

config

cd django-spring-cloud/2.0/config
docker build -t config:v1 .

 

auth

cd django-spring-cloud/2.0/auth
docker build -t auth:v1 .

 

user

cd django-spring-cloud/2.0/user
docker build -t user:v1 .

 

gateway

cd django-spring-cloud/2.0/gateway
docker build -t gateway:v1 .

 

前端

cd django-spring-cloud/2.0/demo_login
docker build -t demo_login:v1 .

 

推送镜像

复制代码

docker login 192.168.31.37 -u admin -p Harbor12345

docker tag eureka:v1 192.168.31.37/library/eureka:v1
docker push 192.168.31.37/library/eureka:v1

docker tag config:v1 192.168.31.37/library/config:v1
docker push 192.168.31.37/library/config:v1

docker tag auth:v1 192.168.31.37/library/auth:v1
docker push 192.168.31.37/library/auth:v1

docker tag user:v1 192.168.31.37/library/user:v1
docker push 192.168.31.37/library/user:v1

docker tag gateway:v1 192.168.31.37/library/gateway:v1
docker push 192.168.31.37/library/gateway:v1

docker tag demo_login:v1 192.168.31.37/library/demo_login:v1
docker push 192.168.31.37/library/demo_login:v1

复制代码

 

k8s发布应用

安装ingress

kubectl apply -f https://kuboard.cn/install-script/v1.17.x/nginx-ingress.yaml

 

eureka

cd django-spring-cloud/2.0/eureka/
kubectl apply -f eureka.yaml
kubectl apply -f eureka-ingress.yaml

注意:请修改yaml文件中的仓库地址,改为实际环境中的harbor

 

config

cd django-spring-cloud/2.0/config/
kubectl apply -f config.yaml

注意:请修改yaml文件中的仓库地址,改为实际环境中的harbor

 

auth

cd django-spring-cloud/2.0/auth/
kubectl apply -f auth.yaml
kubectl apply -f auth-ingress.yaml

注意:请修改yaml文件中的仓库地址,改为实际环境中的harbor

 

user

cd django-spring-cloud/2.0/user/
kubectl apply -f user.yaml
kubectl apply -f user-ingress.yaml

注意:请修改yaml文件中的仓库地址,改为实际环境中的harbor

 

gateway

cd django-spring-cloud/2.0/gateway/
kubectl apply -f gateway.yaml
kubectl apply -f gateway-ingress.yaml

注意:请修改yaml文件中的仓库地址,改为实际环境中的harbor

 

前端

cd django-spring-cloud/2.0/demo_login
kubectl apply -f login.yaml
kubectl apply -f login-ingress.yaml

注意:请修改yaml文件中的仓库地址,改为实际环境中的harbor

 

查看pods

复制代码

# kubectl get pods -o wide
NAME                           READY   STATUS    RESTARTS   AGE   IP              NODE         NOMINATED NODE   READINESS GATES
svc-auth-69b784b446-qvz27      1/1     Running   0          48m   10.244.85.205   k8s-node01   <none>           <none>svc-config-9cbd44858-m5z7p     1/1     Running   0          53m   10.244.85.204   k8s-node01   <none>           <none>svc-eureka-55d485749-mpqhw     1/1     Running   0          41m   10.244.85.207   k8s-node01   <none>           <none>svc-gateway-645755cb8d-nkfp7   1/1     Running   0          68m   10.244.85.203   k8s-node01   <none>           <none>svc-login-66c8d579b5-xg6l6     1/1     Running   0          23m   10.244.85.210   k8s-node01   <none>           <none>svc-user-5c8799c845-jxlr4      1/1     Running   0          25m   10.244.85.209   k8s-node01   <none>           <none>

复制代码

确保处于Running 状态

 

查看ingress

复制代码

# kubectl get ingresses.extensions
NAME          HOSTS              ADDRESS   PORTS   AGE
svc-auth      auth.baidu.com               80      31m
svc-eureka    eureka.baidu.com             80      22m
svc-gateway   api.baidu.com                80      100m
svc-login     h5.baidu.com                 80      96m
svc-user      user.baidu.com               80      28m

复制代码

 

访问页面

在1.0中,使用了nginx转发。在2.0就无需nginx转发了,直接使用ingress转发。

域名解析

将域名解析到任意node节点的ip即可。

192.168.31.178 h5.baidu.com
192.168.31.178 api.baidu.com
192.168.31.178 auth.baidu.com
192.168.31.178 user.baidu.com
192.168.31.178 eureka.baidu.com

http://h5.baidu.com

1.png

 

 

登录信息

用户名:xiao
密码:1234

 

登录成功之后,效果如下:

1.png

 

 

 点击auth

 1.png

 

 

查看api-docs

http://auth.baidu.com/api-docs/

如果谷歌浏览器安装了 JSON Formatter插件,效果就是下面的样子:

1.png

 

 如果没有安装插件,就是一行展示

1.png

访问eureka注册中心

http://eureka.baidu.com/

效果如下:

1.png

 

  确保状态都是UP,前端页面会每隔1秒,检测一次后端服务。不正常时,显示为DOWN


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯