minikube(k8s)部署spring boot项目(二)

教程分享 > Java教程 > Spring > 博文分享 (1886) 2024-08-07 11:05:25


接上篇文章minikube(k8s)部署spring boot项目(一)

上篇文章讲解了k8s部署spring boot demo项目的一部分,本文主要讲解如何将服务暴露指定的端口给外部调用。
 

apiVersion: apps/v1  #kubectl api-versions 可以通过这条指令去看版本信息
kind: Deployment # 指定资源类别
metadata: #资源的一些元数据
  name: k8s-boot-app-deployment #deloyment的名称
  labels:
    app: k8s-boot-app  #标签
spec:
  replicas: 3 #创建pod的个数
  selector:
    matchLabels:
      app: k8s-boot-app #满足标签为这个的时候相关的pod才能被调度到
  template:
    metadata:
      labels:
        app: k8s-boot-app
    spec:
      containers:
        - name: k8s-boot-app
          image: k8s-boot-app:1.0
          imagePullPolicy: IfNotPresent #当本地有镜像的时候优先选用本地,没有才选择网络拉取
          ports:
            - containerPort: 8080 #开放8080


在上面的配置文件中添加service配置

#暴露服务给客户端
apiVersion: v1
kind: Service
metadata:
  name: k8s-boot-app-service
  namespace: default
spec:
  # 服务类型
  #ClusterIp 默认是集群内部容器访问地址,会生成一个虚拟IP 与pod不在一个网段
  #NodePort 会在宿主机上映射一个端口,供外部应用访问模式,就是开放端口给外部访问服务
  #LoadBalancer 使用负载均衡,三者的功能是叠加的,如loadBalancer=clusterIp+NodePort+负载均衡
  type: NodePort
  ports:
    - port: 8080 #对应deployment的容器端口
      protocol: TCP
      nodePort: 31000 #外部端口
  selector:
    app: k8s-boot-app #对应deployment的spec.selector.app-> 注意app这个key也要对应

---
apiVersion: apps/v1  #kubectl api-versions 可以通过这条指令去看版本信息
kind: Deployment # 指定资源类别
metadata: #资源的一些元数据
  name: k8s-boot-app-deployment #deloyment的名称
  labels:
    app: k8s-boot-app  #标签
spec:
  replicas: 3 #创建pod的个数
  selector:
    matchLabels:
      app: k8s-boot-app #满足标签为这个的时候相关的pod才能被调度到
  template:
    metadata:
      labels:
        app: k8s-boot-app
    spec:
      containers:
        - name: k8s-boot-app
          image: k8s-boot-app:1.0
          imagePullPolicy: IfNotPresent #当本地有镜像的时候优先选用本地,没有才选择网络拉取
          ports:
            - containerPort: 8080 #容器端口开放8080


添加完成后再次部署,通过命令删除之前的服务

sudo kubectl delete -f ./k8s-boot-app-deployment.yml


创建

sudo kubectl apply -f ./k8s-boot-app-deployment.yml


查看控制面板可以看到service信息

service信息

使用指定的端口访问:

指定端口访问
指定端口访问

 


 

 


相关文章
环境准备minikube 安装,参考minikube k8s 安装详细教程spring boot demo项目一个spring boot项目 maven 主要依赖 <depe...
接上篇文章minikube(k8s)部署spring boot项目(一)上篇文章讲解了k8s部署spring boot demo项目的一部分,本文主要讲解如何将服务暴露指定的端口给外部调用
环境本次minikube安装环境为Ubuntu 18.04.6 LTS安装docker-ce参考:Ubuntu 在线安装 Docker-左搜 (leftso.com)注意配置docker镜像地址...
罗技k375s优联配对默认情况下,K375s键盘的优联是f1那个键。由于某些原因被替换成为了蓝牙链接模式导致优联无法正常使用。这个时候需要下载一个软件 unifying250.exe(访问密码:...
概述本文主要对康佳(KONKA )最新推出的K520 500G版固态硬盘进行使用使用简单测评
超频三刀锋S85 VS 大镰刀S950m 小机箱使用散热效果对比。
i5 7600k七代Intel酷睿处理器,七代I5系列中最强处理器装机配置参考方案
idea2018配置Tomcat8热部署完整记录
小米蓝牙耳机air2s怎么样?需要注意防那些坑?首先来看看长啥样子小米蓝牙耳机air2s小米蓝牙耳机AIR2S外观篇耳机取出效果耳机盒子效果  小米蓝牙耳机 总结,从外观来看和上一代小米蓝牙耳机...
jenkins是devops神器,本篇文章介绍如何安装和使用jenkins部署Spring Boot项目jenkins搭建 部署分为三个步骤;第一步,jenkins安装第二步,插件安装和配置第三...
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel注意必须安装java-1.8.0-openjdk-devel,否则没有javac命令
spring boot项目打war包再部署到外部tomcat中
skywalking 是一款不错的java apm监控服务,比zipkin功能更强大,需要的服务器配置也更多一些
Spring Boot logback tomcat部署不生效问题解决
引言    通过之前spring boot mybatis 整合的讲解: spring boot mybaties整合  (spring boot mybaties 整合 基于Java注解方式写...