当前位置: 首页 > news >正文

k8s 部署java应用 基于ingress+jar包

k8 集群ingress的访问模式 

先部署一个namespace 命名空间

vim namespace.yaml

kind: Namespace
apiVersion: v1
metadata:name: ingress-testlabels:env: ingress-test

在部署deployment  deployment是pod层一层封装。可以实现多节点部署 资源分配 回滚部署等方式。

部署的时候需要系统上面有名字为 devops-api 的镜像 这个是jar包打成的镜像 

vim devopsApi-Deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:name: devops-apinamespace: ingress-testlabels:app: devops-api
spec:replicas: 1template:metadata:name: devops-apilabels:app: devops-apispec:containers:- name: devops-apiimage: devops-api:latestimagePullPolicy: IfNotPresentports:- containerPort: 8000restartPolicy: Alwaysselector:matchLabels:app: devops-api

部署Service层 Service 绑定外部IP 是可以提供外部访问的 

IP:端口       的方式可以访问 

vim devops-svc.yaml

apiVersion: v1
kind: Service
metadata:name: devops-svcnamespace: ingress-testlabels:app: devops-svc
spec:selector:app: devops-apiports:- name: httpport: 8000targetPort: 8000protocol: TCPexternalIPs:- 192.168.217.129

 

Ingress  

ingress 定义路由规则, 基于http第七层应用层访问  URL的方式访问  比如 ingress 定义一个/demo的规则 则这个规则下必须有对应的服务或接口数据。。没有则报404错误

vim devopsApi-igrs.yaml

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:namespace: ingress-testname: devops-api
spec:ingressClassName: nginxrules:- host: k1.devops.comhttp:paths:- path: /demo   #修改之后可以重新部署 /api/hello/adminpathType: Prefixbackend:service:name: devops-apiport:number: 8000

在普通模式下 http://localhost:8000/demo      假设这个接口 url在后端服务必须有返回数据

很容易在这个地方犯迷糊。。

kubeclt apply -f devopsApi-igrs.yaml 

修改配置之后 

kubeclt  replace  -f devopsApi-igrs.yaml 

相关文章:

  • 【iOS ARKit】3D 人体姿态估计
  • 三丰云免费云服务器测评
  • Kubernetes基础(十五)-k8s网络通信
  • 《Python 网络爬虫简易速速上手小册》第1章:Python 网络爬虫基础(2024 最新版)
  • 在windows的控制台实现贪吃蛇小游戏
  • Qt之漂亮的地球
  • Android编程权威指南(第四版)- 第 4 章 UI状态的保存与恢复
  • 记录学习--java abstract与interface使用区别
  • Vivado-IP核
  • vue3+vite+ts 配置commit强制码提交规范配置 commitlint
  • React+Antd+tree实现树多选功能(选中项受控+支持模糊检索)
  • c++之说_10|自定义类型 union 联合体
  • 霍金《时间简史》(A Brief History of Time)学习笔记(第四章)
  • FastAdmin
  • Gateway反向代理配置
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • java8-模拟hadoop
  • JavaScript实现分页效果
  • Java精华积累:初学者都应该搞懂的问题
  • Laravel核心解读--Facades
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • Mac转Windows的拯救指南
  • Material Design
  • Python打包系统简单入门
  • Python语法速览与机器学习开发环境搭建
  • rabbitmq延迟消息示例
  • spring + angular 实现导出excel
  • 代理模式
  • 番外篇1:在Windows环境下安装JDK
  • - 概述 - 《设计模式(极简c++版)》
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 王永庆:技术创新改变教育未来
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • ​如何防止网络攻击?
  • #include
  • (a /b)*c的值
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (南京观海微电子)——I3C协议介绍
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (十一)手动添加用户和文件的特殊权限
  • (四)鸿鹄云架构一服务注册中心
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .net 8 发布了,试下微软最近强推的MAUI
  • .net 按比例显示图片的缩略图
  • .net6使用Sejil可视化日志
  • .NET是什么
  • [ACM] hdu 1201 18岁生日
  • [Angular 基础] - 表单:响应式表单
  • [Ariticle] 厚黑之道 一 小狐狸听故事
  • [C puzzle book] types
  • [C#] 基于 yield 语句的迭代器逻辑懒执行
  • [codeforces]Checkpoints
  • [C语言]——分支和循环(4)