k8s编排部署一个java应用

流程

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

实战项目

制作java镜像

//项目结构

yum -y install maven git

[root@master java]# pwd
/root/java


[root@master java]# git clone https://gitee.com/forgotten/tomcat-java-demo.git
正克隆到 'tomcat-java-demo'...
remote: Enumerating objects: 558, done.
remote: Total 558 (delta 0), reused 0 (delta 0), pack-reused 558
接收对象中: 100% (558/558), 5.08 MiB | 1.98 MiB/s, 完成.
处理 delta 中: 100% (217/217), 完成.
    
    
[root@master java]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.54/bin/apache-tomcat-9.0.54.tar.gz
--2021-12-28 02:30:46--  https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.54/bin/apache-tomcat-9.0.54.tar.gz
正在解析主机 archive.apache.org (archive.apache.org)... 138.201.131.134, 2a01:4f8:172:2ec5::2
正在连接 archive.apache.org (archive.apache.org)|138.201.131.134|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:11576317 (11M) [application/x-gzip]
正在保存至: “apache-tomcat-9.0.54.tar.gz”

apache-tomcat-9.0.54.tar 100%[================================>]  11.04M  3.26MB/s  用时 3.4s    

2021-12-28 02:30:51 (3.26 MB/s) - 已保存 “apache-tomcat-9.0.54.tar.gz” [11576317/11576317])

        
[root@master java]# ls
apache-tomcat-9.0.54.tar.gz  Dockerfile  tomcat-java-demo

[root@master java]# cd tomcat-java-demo/
[root@master tomcat-java-demo]# ls
db  deploy.yaml  Dockerfile  jenkinsfile  LICENSE  pom.xml  README.md  src
[root@master tomcat-java-demo]# pwd
/root/java/tomcat-java-demo
[root@master tomcat-java-demo]# mvn clean package
[root@master tomcat-java-demo]# mv target/ly-simple-tomcat-0.0.1-SNAPSHOT.war target/myapp.war

[root@master java]# cat Dockerfile 
FROM centos

ADD apache-tomcat-9.0.54.tar.gz /usr/local

ADD tomcat-java-demo/target/myapp.war /usr/local/apache-tomcat-9.0.54/webapps/myapp.war

RUN yum -y install java-11-openjdk*

EXPOSE 8080

WORKDIR /usr/local/apache-tomcat-9.0.54

ENTRYPOINT /usr/local/apache-tomcat-9.0.54/bin/startup.sh && tail -f /usr/local/apache-tomcat-9.0.54/logs/catalina.out

CMD ["/usr/local/apache-tomcat-9.0.54/bin/catalina.sh","start"]



//构建镜像
[root@master ~]# docker build -t jiejiehao/java-deamon:v2 /root/java

[root@master java]# docker images
REPOSITORY                                                        TAG        IMAGE ID       CREATED          SIZE
jiejiehao/java-deamon                                             v2         231762e9e54a   49 seconds ago   1.49GB

将镜像推入docker hub仓库中

[root@master ~]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: jiejiehao
Password: 
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 push jiejiehao/java-deamon:v2

创建Deployment,Service的yaml文件

[root@master test]# cat java.yaml 
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: java-deamon
  name: java
  namespace: default
spec:
  replicas: 2
  selector:
    matchLabels:
      app: java-deamon
  template:
    metadata:
      labels:
        app: java-deamon
    spec:
      containers:
      - image: jiejiehao/java-deamon:v2
        name: java
        imagePullPolicy: IfNotPresent

---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: java-deamon
  name: java
  namespace: default
spec:
  ports:
  - port: 80
    protocol: TCP
    nodePort: 30000
    targetPort: 8080
  selector:
    app: java-deamon
  type: NodePort


[root@master test]# kubectl apply -f java.yaml 
deployment.apps/java created
service/java created


[root@master ~]# kubectl get pod,svc
NAME                        READY   STATUS               RESTARTS   AGE
pod/java-7b875cdd46-4qdrt   1/1     Running              0          29m
pod/java-7b875cdd46-l2jrj   1/1     Running              0          29m

NAME                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
service/java         NodePort    10.97.3.47      <none>        80:31111/TCP   29m
service/kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP        10d


浏览器访问

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值