Kubernetes部署Java项目

导读:本篇文章讲解 Kubernetes部署Java项目,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com


官网部署指南

halo包下载地址

一、Kubernetes 部署java项目

项目迁移到k8s平台是怎么样的流程?在这里插入图片描述

二、jar包和war包区别

jar:
jar包就是java的类进行编译生成的class文件就行打包的压缩包。里面是一些class文件。当我们自己使用maven写一些java程序,进行打包生成jar包。同时在可以在其他的工程下使用,但是我们在这个工程依赖的jar包,在其他工程使用该jar包也要导入。

war:
war包其实就是一个web程序进行打包便于部署的压缩包,里面包含我们web程序需要的一些东西,其中包括web.xml的配置文件,前端的页面文件,以及依赖的jar。文件数量对于jar包,这样便于我们部署工程,直接放到tomcat的webapps目录下,直接启动tomcat即可。同时可以使用WinRAR查看war包,直接将后缀.war改成.rar

三、登录仓库获取最新版本halo镜像

上面有两个链接,第一个可以照着官方的来;第二个你可以自己获取包,自己做镜像自己运行

// 登场仓库
[root@master ~]# docker login
Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

// 拉取镜像
[root@master ~]# docker pull halohub/halo:1.4.16
1.4.16: Pulling from halohub/halo
f3ef4ff62e0d: Pull complete 
706b9b9c1c44: Pull complete 
76205aac4d5a: Pull complete 
5339a2f9d7c6: Pull complete 
5046244cf427: Pull complete 
6f2d87dec2d6: Pull complete 
adddcc4af348: Pull complete 
d5671a6c1733: Pull complete 
Digest: sha256:994537a47aff491b29251665dc86ef2a87bd7000516c330b5e636ca4b029d35c
Status: Downloaded newer image for halohub/halo:1.4.16
docker.io/halohub/halo:1.4.16

// 镜像获取成功
[root@master ~]# docker images | grep halo
halohub/halo                                                      1.4.16          b7b9923025c2   2 weeks ago    325MB

四、使用K8s资源清单文件

[root@master ~]# cat /opt/manifest/halo.yaml 
---
apiVersion: apps/v1
kind: Deployment
metadata: 
  name: halo
  labels: 
    app: halo
spec:
  replicas: 1
  selector: 
    matchLabels: 
      app: halo
  template: 
    metadata: 
      name: halo
      labels: 
        app: halo
    spec:
      containers: 
      - image: halohub/halo:1.4.16
        imagePullPolicy: IfNotPresent
        name: halo

---
apiVersion: v1
kind: Service
metadata: 
  name: halo
spec: 
  ports: 
  - port: 8090			// 默认端口
    targetPort: 8090
    nodePort: 30100		// 自定义nodeport端口
  selector:
    app: halo
  type: NodePort     


// 应用清单文件
[root@master manifest]# kubectl apply -f halo.yaml 
deployment.apps/halo1 created
service/halo created

// 查看容器创建、运行情况
[root@master manifest]# kubectl get pods,svc
NAME                        READY   STATUS    RESTARTS   AGE
pod/halo-7b78758486-572zk   1/1     Running   0          35s

NAME                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
service/halo         NodePort    10.98.167.139   <none>        8090:30100/TCP   35s
service/kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP          31h

五、网页安装

使用 本机IP:30100 访问 halo安装页面

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/5564.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!