我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python 模拟Spring Cloud+k8s发布

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python 模拟Spring Cloud+k8s发布

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

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

python 模拟Spring Cloud+k8s发布

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python 模拟Spring Cloud+k8s发布

在上一篇文章,链接如下:https://www.cnblogs.com/xiao987334176/p/12260474.html在一台服务器上面,使用6个django项目,演示了一下Spring Cloud下面将详细介绍,如何使用k8s发
2023-01-31

python 模拟Spring Cloud

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键
2023-01-31

jenkins发布Spring Cloud(单机版)

有一台测试服务器,需要部署Spring Cloud。通过Jenkins来发布!环境说明gitlab版本:GitLab 社区版 10.5.1jenkins版本:2.219测试服务器:操作系统为centos7.6项目说明微服务统一在一个git项
2023-01-31

python怎么发布模块

要发布一个Python模块,您可以按照以下步骤进行操作:1. 创建模块:创建一个包含您的模块代码的Python文件,确保它具有适当的函数、类和/或变量。2. 添加文档字符串:编写模块的文档字符串,以便其他开发人员可以了解您的模块的功能和使用
2023-08-23

spring发布订阅模式怎么实现

在Spring中,可以使用Spring的事件机制来实现发布订阅模式。创建事件对象:首先,需要创建一个事件对象,该对象包含了需要发布的数据。public class CustomEvent extends ApplicationEvent {
spring发布订阅模式怎么实现
2024-02-29

python如何发布模块

要发布一个Python模块,可以按照以下步骤进行操作:1. 在你的模块文件夹中创建一个`setup.py`文件,该文件描述了你的模块的元数据和依赖关系。一个基本的`setup.py`可能如下所示:```pythonfrom setuptoo
2023-08-23

发布你的Python模块详解

我们在学习Python的时候,除了用pip安装一些模块之外,有时候会从网站下载安装包下来安装,我也想要把我自己编写的模块做成这样的安装包,该怎么办,如何发布呢? 大概需要以下四个步骤: 1.首先为模块创建一个文件夹。 举个简单的栗子,你写了
2022-06-04

如何创建和发布Python模块

已有 7514 次阅读 2013-1-3 22:22 |个人分类:学习生活|系统分类:科研笔记|关键词:Python 发布 模块 Windows1. 首先将你要发布的模块(函数)写在一个Python文件里,即以*.py的文件,如nester
2023-01-31

打包发布Python模块的方法详解

前言 昨天把自己的VASP文件处理库进行了打包并上传到PyPI,现在可以直接通过pip和easy_install来安装VASPy啦(同时欢迎使用VASP做计算化学的童鞋们加星和参与进来), VASPy的GotHub地址:https://gi
2022-06-04

如何用Python做一个骰子模拟器和石头剪刀布游戏

这篇“如何用Python做一个骰子模拟器和石头剪刀布游戏”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何用Python做一
2023-06-27

如何使用Python开发游戏运行脚本实现模拟点击

小编给大家分享一下如何使用Python开发游戏运行脚本实现模拟点击,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、Android模拟器的选择目前市面上有很多An
2023-06-25

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录