k8s集群搭建学习-部署一个自定义java服务

摘要:
您可以使用命令kubectlapi versions metadata:cpu:selector:app:k8s testports:protocol:TCPport:在这里查看类型:k8s测试#标签规范:#
一、创建docker镜像
  • dockerFile
FROM  openjdk:13
LABEL  by=jty name=docker_boot description="k8s测试" version="v1.0"
RUN mkdir -p /usr/local/k8s/
RUN cd /usr/local/k8s/
WORKDIR /usr/local/k8s
COPY k8s-test-1.0-SNAPSHOT.jar  /usr/local/k8s/k8s-test-1.0-SNAPSHOT.jar  #k8s-test-1.0-SNAPSHOT.jar为打包后的jar包
EXPOSE  8012
ENTRYPOINT ["java", "-jar", "k8s-test-1.0-SNAPSHOT.jar"]
  • 创建镜像
docker build -f /usr/local/k8s/dockerFile -t k8s-test:v1.0 . #保证编辑的dockerFile在-f后的目录中存在
docker images #查看镜像,该镜像在本地镜像仓库,可通过配置提交到如阿里云镜像仓库等服务器

k8s集群搭建学习-部署一个自定义java服务第1张

创建namespace、deployment、service
#vim k8s-test-namespace.yaml
#创建名称空间
apiVersion: v1
kind: Namespace
metadata:
  name: dev
  labels:
   name: k8s-test
#vim k8s-test-deploy.yaml
#创建deployment
apiVersion: apps/v1        # 1.9.0 之前的版本使用 apps/v1beta2,可通过命令 kubectl api-versions 查看
kind: Deployment           #指定创建资源的角色/类型
metadata:                  #资源的元数据/属性
  name:   k8s-test-deploy    #资源的名字,在同一个namespace中必须唯一
  namespace:  dev             #命名空间
  labels: 
    app: k8s-test                  #标签
spec:
  replicas: 2         #副本数量2
  strategy:
    rollingUpdate:   ##由于replicas为3,则整个升级,pod个数在2-4个之间
      maxSurge: 1      #滚动升级时会先启动1个pod
      maxUnavailable: 1 #滚动升级时允许的最大Unavailable的pod个数
  selector:             #定义标签选择器,部署需要管理的pod(带有该标签的的会被管理)需在pod 模板中定义
    matchLabels:
      app: k8s-test
  template:      #这里Pod的定义
    metadata:
      labels:    #Pod的label
        app: k8s-test
    spec:        # 模板的规范  
      containers:  
      - name: k8s-test      #容器的名字  
        image: k8s-test:v1.0  #容器的镜像地址 
        imagePullPolicy: IfNotPresent  
        resources:              ##CPU内存限制
          requests:
            cpu: 2
            memory: 1024Mi
          limits:
            cpu: 2
            memory: 1024Mi
        ports:
          - name: http
            containerPort: 8012 #对service暴露端口           
#vim k8s-test-service.yaml
#创建service
apiVersion: v1
kind: Service
metadata:
  name: k8s-test-service
spec:
  selector:
    app: k8s-test
  ports:
  - protocol: TCP
    port: 8012 # 需要暴露的集群端口(service暴露的)
    targetPort: 8012  # 容器的端口(后端容器提供服务的端口)
  type: NodePort
测试

k8s集群搭建学习-部署一个自定义java服务第2张

  • 在其中一个节点上查看容器运行情况
    k8s集群搭建学习-部署一个自定义java服务第3张

  • 访问测试
    k8s集群搭建学习-部署一个自定义java服务第4张
    k8s集群搭建学习-部署一个自定义java服务第5张

免责声明:文章转载自《k8s集群搭建学习-部署一个自定义java服务》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android笔记之权限库AndPermissionTensorFlow安装-ubuntu下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

npm script 自动打开浏览器 All In One

npm script 自动打开浏览器 All In One npm script 自动打开浏览器,bin open / node.js 兼容 mac/pc API It uses the command open on macOS, start on Windows and xdg-open on other platforms. source-code...

微服务入门系列(五):服务部署【转载】

当我们完成业务代码的开发后,就需要进入部署阶段。在部署过程中,我们将会引入持续集成、持续交付、持续部署,并且阐述如何在微服务中使用他们。 在介绍这三个概念之前,我们首先来了解下使用了这三个概念之后的软件开发流程,如下图所示: 首先是代码的开发阶段,当代码完成开发后需要提交至代码仓库,此时需要对代码进行编译、打包,打包后的产物被称为“构建物”,如:对Web...

uniapp 下获取cid

咨询多次客服统一给的答案都是下面这种,但其实是不对的,因为我写的是app端,app 没有 document window 之类的方法。 document.addEventListener('plusready', function(){ // 页面加载时触发 var pinf = plus.push.getClientInfo();...

html网站网址一键打包成App平台-开心App平台

开心APP在线打包平台可以快速封装网站变成APP,一键打包网站APP平台的出现,极大的降低的开发费用,几百块就可以制作一个体验不错的APP。 网站封装成APP的流程方便快捷!无需懂代码,会上网就能制作APP! 下面介绍使用开心APP平台将一个网站快速打包成APP 分七步进行 1、注册开心APP平台账号 2、创建APP、配置基本信息 3、配置扩展插件 4、配...

Docker实践:基于python:3.7.1-stretch制作python镜像

搭建一个简单的Python环境 获取镜像 从docker hub获取最新的python镜像,例如我这次准备用的是3.7.1-stretch 接着新建Dockerfile文件,意思是从这个基础镜像进行搭建,这个文件是用来构建一个镜像 FROM python:3.7.1-stretch 获取插件 本次搭建python环境需要一些python的包,则需要...

在github上使用workflow构建docker镜像并推送阿里云

本篇文章将会简单讲解如何使用github Actions功能构建workflow并且打包java程序docker镜像,最后推送到阿里免费的docker镜像仓库中。 一、注册阿里云账号,使用容器镜像服务 注册阿里云账号完成之后,在dashboard中搜索“容器镜像服务”关键字 打开该页面,默认页面是这样 个人版是免费的,点进去 根据官网描述,可以免费创...