k8s 微服务打包上传私库、部署、发布

k8s 微服务打包上传私库、部署、发布微服务打包上传私库、部署、发布1.Ideamaven打包修改配置文件yml的eureka地址:http://10.0.0.111:11111/eurekaMaven打成jar包。2.

大家好,又见面了,我是你们的朋友全栈君。

微服务打包上传私库、部署、发布

1.   Idea maven打包

修改配置文件yml的 eureka地址:http://10.0.0.111:11111/eureka

Maven—–打成jar包。

2.   Docker  配置私服地址:

1  Docker配置镜像加速器地址和私库地址:在/etc/docker目录创建daemon.json文件

在daemon.json文件中填写如下配置

{
"registry-mirrors": ["https://vaflkxbk.mirror.aliyuncs.com"],
"insecure-registries": ["10.0.0.34:5000"]
}

  

重启docker服务:  systemctl  restart docker

链接地址:

https://jingyan.baidu.com/article/466506585d92f8b549e5f89c.html

 

3.   Java后端代码创建镜像

1  在安装docker环境的服务器上新建一个目录,

 

2 把项目maven  jar上传到目录里面,新建一个Dockerfile文件,用来打包docker镜像:红色是需要自己修改的

 

FROM 10.0.0.34:5000/project/openjdk:8-jdk-alpine
EXPOSE 8508
VOLUME "/tmp"
COPY PROJECT_TEST-1.0.1-SNAPSHOT.jar  test.jar
ENTRYPOINT ["java","-Dspring.profiles.active=docker","-jar","/test.jar"]

  

 

3  如果项目用到本地目录的应该添加VOLUME路径”/opt/case/”,最好为两层路径,不然会报错找不到文件路径,

 

FROM 10.0.0.34:5000/project/openjdk:8-jdk-alpine
EXPOSE 8508
VOLUME ["/tmp","/opt/case/"]
COPY PROJECT_TEST-1.0.1-SNAPSHOT.jar  test.jar
ENTRYPOINT ["java","-Dspring.profiles.active=docker","-jar","/ test.jar"]

  

 

4  docker拉取jdk镜像,创建Java镜像的时候使用(服务器有镜像的不用拉取);

docker  pull  10.0.0.34:5000/project/openjdk:8-jdk-alpine

  

5  docker  images查看拉取成功后,开始创建Java镜像:

docker  build   -t  test:latest  

  

.

6  创建成功后修改项目镜像的tag,加上docker私库的ip端口,用于上传镜像:

docker   tag  test:latest   10.0.0.34:5000/project/ test:latest

  

 <span role="heading" aria-level="2">k8s 微服务打包上传私库、部署、发布

7 docker images查看 修改成功了,开始上传镜像到私库:

docker  push   10.0.0.34:5000/project/case:latest

  

8  上传成功后,查看私库的镜像列表:

curl  http://10.0.0.34:5000/v2/_catalog

  <span role="heading" aria-level="2">k8s 微服务打包上传私库、部署、发布

9  也可以浏览器访问http://10.0.0.34:5000/v2/_catalog查看一下是否推送成功

4.   Vue前端代码

1  登录Docker环境的服务器,新建目录:上传dist和nginx.conf文件

2  编写nginx的配置文件,具体内容因项目而异

3  在项目中增加Dockerfile文件,用来打包docker镜像

FROM nginx
ENV TimeZone=Asia/Shanghai
RUN mkdir /etc/nginx/logs
COPY dist/ /etc/nginx/html
COPY nginx.conf /etc/nginx/nginx.conf

  

 

4  在Dockerfile目录执行脚本,进行打包镜像,标签,推送到私服

docker build -t="project/client" ./         # 打包docker镜像
docker tag project/client:latest 10.0.0.34:5000/project/client:latest
#设置远程私服标签

docker push 10.0.0.34:5000/project/client # 推送到私服

  

可以访问http://10.0.0.34:5000/v2/_catalog查看一下是否推送成功

5.   K8S部署

1  登录到k8s:http://10.30.16.224:32567/dashboard 选择名称空间

输入Token:

eyJhbGciOiJSUzI1NiIsImtpZCI6IjhPUXFjcXp1ZmNHODM4amlUd1dYMElaZTUyUlAtbzlHZzRZb20zYUthZU0ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJvYXJkLXVzZXItdG9rZW4tN3pqeHMiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoia3Vib2FyZC11c2VyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiOGZiYTZkYTMtNWYzOC00ODBiLThmMjYtNTA5OTMxMDUyNWIzIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmt1Ym9hcmQtdXNlciJ9.hxmqaVDpNxC24g9nA374b4yVltDZtkqrkwrzOLS7XgCPY4ighPdXbyLewQZdm9wKznKcKBH21Pj9jHe4yaugNSwnARgiBUyR44ORBseGUW7qjR-cPBI9g-iqJGX8uaAYLmgvMhvvsg

 

2  点击进入名称空间,常用操作,选择从yaml创建

 <span role="heading" aria-level="2">k8s 微服务打包上传私库、部署、发布

 <span role="heading" aria-level="2">k8s 微服务打包上传私库、部署、发布

 

 

 

编写部署镜像的yaml文件,把所有case的地方替换成你项目名称(namespace是部署的空间目录,containerPort是端口号)

 

kind: Deployment
apiVersion: apps/v1
metadata:
  name: test-deployment
  namespace: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: test
  template:
    metadata:
      labels:
        app: test
    spec:
      containers:
      - name: test
        image: 10.0.0.34:5000/project/ test
        ports:
        - containerPort: 8508

  

2  点击”确定” “应用” 创建成功如下图:

 <span role="heading" aria-level="2">k8s 微服务打包上传私库、部署、发布

 

 

 <span role="heading" aria-level="2">k8s 微服务打包上传私库、部署、发布

 

6.   K8S发布

1  点击服务查看,进入编辑区

 <span role="heading" aria-level="2">k8s 微服务打包上传私库、部署、发布

 

 

 <span role="heading" aria-level="2">k8s 微服务打包上传私库、部署、发布

 

 

2  点击编辑按钮进入服务发布编辑区,添加下图红色框的内容,

 

 <span role="heading" aria-level="2">k8s 微服务打包上传私库、部署、发布

 

 <span role="heading" aria-level="2">k8s 微服务打包上传私库、部署、发布

 

 

填写service页面,k8s端口范围30000-32767:

 <span role="heading" aria-level="2">k8s 微服务打包上传私库、部署、发布

 

 

3  填写完毕后,点击保存,服务自动发布

 <span role="heading" aria-level="2">k8s 微服务打包上传私库、部署、发布

 

 

4  Swagger测试服务http://10.30.16.211:31010/swagger-ui.html把端口号改成自己的端口

5  K8s开放平台测试服务http://10.30.16.224:30080/project

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154823.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 薅羊毛利器—Loon,Cookie放在本地一点也不担心[通俗易懂]

    LoonLoon是一款在iOS系统下的代理工具(目前还没有Android版本),它支持在本地执行js脚本,只需简单配置即可成为薅羊毛利器ps之前的羊毛脚本已经失效了下载可以去美区AppStore下载,价格$4.99,需要有一个美区的AppleId账号,并且充值美元可以去某宝或拼夕夕搜索并购买,价格大概在¥9.99配置然后将下面框里面的配置赋值粘贴进去,点击保存[General]#IPv6支持ipv6=false##skip-proxy和bypass-tun一般不需

    2022年4月14日
    153
  • idea2021年最新永久激活码【在线注册码/序列号/破解码】

    idea2021年最新永久激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    53
  • sql server 字符串和日期的转换函数[通俗易懂]

    sql server 字符串和日期的转换函数[通俗易懂]字符串转换为日期:cast(‘20100514’asdatetime)日期转换为字符串:CONVERT(nvarchar(30),GETDATE(),126)日期格式规则如下:1101美国mm/dd/yyyy2102ANSIyy.mm.dd3103英国/法国dd/mm/yy4104德国dd.mm.yy5105意大利dd-m

    2022年10月8日
    3
  • cad注释比例和打印比例不一样_cad注释比例(cad注释比例与打印比例)

    cad注释比例和打印比例不一样_cad注释比例(cad注释比例与打印比例)这两个比例有什么区别分别代表的是什么意思麻烦说详细点谢谢是物体被缩小了50倍后的图形这两个比例。但是一张图纸不允许出现两个或以上的比例(局部放大除外),但是标注的数字是实际尺寸,两个没有区别画的是800*500mm的线,注释比例用的1:1,这样是不是不行?我的标注字体.注释比例就是按图框大小来标注的,比如将1:1的图框放大到1:5,那么就选择1:5大小的注释比例,当然注释比例是你事先设置好的…

    2022年5月14日
    98
  • SpringBoot入门(个人总结)

    @纯属个人学习总结,不喜勿喷哈。(学习来自慕课网)我觉得学习SpringBoot需要具备的前置知识熟悉maven构建项目;懂得Spring注解开发的知识;了解restful API的理论知识(http://www.ruanyifeng.com/blog/2011/09/restful.html)一、SpringBoot介绍我们在做java的项目中经常被xml的配置搞得头大…

    2021年11月30日
    53
  • leetcode-167两数之和(双指针+二分)

    leetcode-167两数之和(双指针+二分)原题链接给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例 1:输入:numbers = [2,7,11,15], targ

    2022年8月8日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号