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

配置应用到k8s

配置应用到k8s,前置条件是安装了Docker,Minikube,kubectl

应用已经通过Docker生成本地镜像文件

1,创建godemo-deployment.yaml

	apiVersion: apps/v1kind: Deploymentmetadata:name: godemo-deploymentspec:replicas: 3 #启动三个副本selector:matchLabels:app: godemotemplate:metadata:labels:app: godemospec:containers:- name: godemoimage: godemo:localports:- containerPort: 7080 #这个端口号需要与容器内部应用程序所使用的端口号相匹配resources:limits:memory: "512Mi" #内存限制cpu: "1"#xpu限制

2,创建godemo-deployment

用于将名为godemo-deployment.yaml的YAML文件中定义的Deployment资源应用到Kubernetes集群中
这是一个kubectl命令,用于将名为godemo-deployment.yaml的YAML文件中定义的Deployment资源应用到Kubernetes集群中。
这将会创建或更新Kubernetes中的Deployment资源,以确保其与godemo-deployment.yaml文件中定义的规范一致。kubectl apply -f godemo-deployment.yaml

3,用于获取当前Kubernetes集群中所有的Pod

。执行该命令后,将会列出所有命名空间中的Pod的相关信息,包括名称、所属命名空间、状态、IP地址等。
kubectl get pods

4,用于获取当前Kubernetes集群中所有的服务

。执行该命令后,将会列出所有命名空间中的服务的相关信息,包括名称、类型、ClusterIP、外部IP等。
kubectl get services

5,创建godemo-service.yaml

	apiVersion: v1kind: Servicemetadata:name: godemo-servicespec:type: NodePortselector:app: godemoports:- protocol: TCPport: 7089targetPort: 7080

6,创建godemo-service.yaml的YAML文件中定义的Kubernetes服务应用到集群中

kubectl apply -f godemo-service.yaml

7,获取当前Kubernetes集群中所有节点的详细信息

INTERNAL-IP就是需要请求的服务的ip
包括节点的名称、状态、内部IP地址、外部IP地址等。执行该命令后,将会列出所有节点的详细信息。
//获取到应用的内网ip 192.168.49.2就是当前服务的ip

	kubectl get nodes -o wide示例[root@iZ2zefj8x9bih0twyv5rcvZ giftpanel]# kubectl get nodes -o wideNAME       STATUS   ROLES           AGE   VERSION   INTERNAL-IP    EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION            CONTAINER-RUNTIMEminikube   Ready    control-plane   41h   v1.28.3   192.168.49.2   <none>        Ubuntu 22.04.3 LTS   4.19.91-27.3.al7.x86_64   docker://24.0.7

8,列出所有服务的相关信息

包括名称、类型、ClusterIP、外部IP等。
//获取到service的暴露端口
	kubectl get services示例[root@iZ2zefj8x9bih0twyv5rcvZ giftpanel]# kubectl get servicesNAME             TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGEgodemo-service   NodePort    10.101.28.30   <none>        7089:31634/TCP   16hkubernetes       ClusterIP   10.96.0.1      <none>        443/TCP          41h

8,测试应用 31634就是暴露的端口

curl http://192.168.49.2:31634/giftpanel/test/login?name=999999999999999999999999
返回内容
	<!DOCTYPE html><html><head><title>Gin HTML Demo xxxxxxxxxx</title></head><body><h1>Welcome to Gin HTML Demo xxxxxxxxxx</h1><p>999999999999999999999999</p></body>

9,从Kubernetes集群中删除

名为godemo-deployment的Deployment
kubectl delete deployment godemo-deployment

10,执行该命令后,将会从集群中删除名为godemo-service的服务

kubectl delete service godemo-service

相关文章:

  • 复杂 SQL 实现分组分情况分页查询
  • 安全运营之安全加固和运维
  • docker-compose部署容器可视化管理平台portainer
  • 设计模式(三)-结构型模式(5)-外观模式
  • npm login报错:Public registration is not allowed
  • 【QT】Model/View结构
  • 堆与二叉树(上)
  • 服务器解析漏洞有哪些?IIS\APACHE\NGINX解析漏洞利用
  • 独立搭建UI自动化测试框架分享
  • 【Git】Git基本操作
  • SpringSecurity深度解析与实践(1)
  • 广州华锐互动VRAR:利用VR开展新能源汽车触电安全演练,降低培训成本和风险
  • sfc mcu mesh等webrtc网络结构
  • 【机器学习】密度聚类:从底层手写实现DBSCAN
  • Shell命令与Linux操作系统:深入理解其原理和功能(1/2)
  • hexo+github搭建个人博客
  • [Vue CLI 3] 配置解析之 css.extract
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 【个人向】《HTTP图解》阅后小结
  • 【面试系列】之二:关于js原型
  • Android框架之Volley
  • angular2 简述
  • Apache的基本使用
  • Django 博客开发教程 16 - 统计文章阅读量
  • fetch 从初识到应用
  • Hexo+码云+git快速搭建免费的静态Blog
  • Javascript 原型链
  • laravel with 查询列表限制条数
  • maya建模与骨骼动画快速实现人工鱼
  • 分布式事物理论与实践
  • 关于使用markdown的方法(引自CSDN教程)
  • 机器学习中为什么要做归一化normalization
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 力扣(LeetCode)21
  • 前端之React实战:创建跨平台的项目架构
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 深度学习中的信息论知识详解
  • 提醒我喝水chrome插件开发指南
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 与 ConTeXt MkIV 官方文档的接驳
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 正则表达式
  • 最简单的无缝轮播
  • 正则表达式-基础知识Review
  • # .NET Framework中使用命名管道进行进程间通信
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (六)Hibernate的二级缓存