ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

微服务发布到k3s环境

2022-07-25 13:06:19  阅读:161  来源: 互联网

标签:服务 07 k3s 19 demo 环境 --- 2022 main


环 境

a、 springboot jar包 (请 求 返 回 实 时 时 间 )

b、 docker环 境

c、 k3s环 境

jar包 提 取 地 址: 链 接

1、 准 备 好 jar文 件

[root@urbancabin demo]# ll -h demo.jar        

-rw-r--r-- 1 root root 28M Apr 22  2021 demo.jar

2、 构 建 环 境

alpine-glibc:v1 #java运 行 环 境 的 基 础 镜 像
jre8.tar.gz #java运 行 环 境 所 需 的 jre包

a、 构 建 轻 量 级 java运 行 需 要 的 基 础 环 境 (比 单 纯 拉 jdk官 方 镜 像 少 一 半 的 大 小 , 生 产 环 境 慎 用 , 需 要 考 虑 兼 容 性 )

首 先 需 要 制 作 java的 运 行 环 境


[alpine-glibc:v1镜 像 的 制 作 ]                                                                                                         

cat Dockerfile                                                                                                                      

FROM alpine:latest                                                                                                                  
        
RUN apk add --no-cache bash && \                                                                                                    

    wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \                                
    
    wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.30-r0/glibc-2.30-r0.apk && \                              
    
    apk add --no-cache glibc-2.30-r0.apk && \                                                                                       
    
    rm -rf glibc-2.30-r0.apk   
                                                                                                                                                                                                                                        
docker build -t alpine-glibc:v1 . 

b、 jre8.tar.gz

下 载 地 址: https://www.java.com/en/download/manual.jsp
下 载: jre-8u333-linux-x64.tar.gz

解 压


tar -zxvf jre-8u333-linux-x64.tar.gz                                                                                                

cd jre1.8.0_333                                                                                                                     

删 除 无 用 文 件

rm -rf COPYRIGHT LICENSE README release THIRDPARTYLICENSEREADME-JAVAFX.txt THIRDPARTYLICENSEREADME.txt Welcome.html                 

rm -rf   lib/plugin.jar \                                                                                                           

           lib/ext/jfxrt.jar \                                                                                                      
    
           bin/javaws \                                                                                                             
    
           lib/javaws.jar \                                                                                                         
    
           lib/desktop \                                                                                                            
    
           plugin \                                                                                                                 
    
           lib/deploy* \                                                                                                            
    
           lib/*javafx* \                                                                                                           
    
           lib/*jfx* \                                                                                                              
    
           lib/amd64/libdecora_sse.so \                                                                                             
    
           lib/amd64/libprism_*.so \                                                                                                
    
           lib/amd64/libfxplugins.so \                                                                                              
    
           lib/amd64/libglass.so \                                                                                                  
    
           lib/amd64/libgstreamer-lite.so \                                                                                         
    
           lib/amd64/libjavafx*.so \                                                                                                
    
           lib/amd64/libjfx*.so                                                                                                     

重 新 打 包

tar -zcvf jre8.tar.gz *       

3、 将 jar包 做 到 镜 像 文 件 里 面

[root@urbancabin demo]# ls                                                                                                          

demo.jar  Dockerfile  jre1.8.0_333  jre8.tar.gz  jre-8u333-linux-x64.tar.gz                                                         

[root@urbancabin demo]# cat Dockerfile                                                                                              

#FROM openjdk:8-jre  #官 方 镜 像                                                                                                       

FROM alpine-glibc:v1    #镜 像 需 要 单 独 制 作                                                                                            

ADD jre8.tar.gz /usr/java/jdk                                                                                                       

ENV JAVA_HOME /usr/java/jdk                                                                                                         

ENV PATH ${PATH}:${JAVA_HOME}/bin                                                                                                   

WORKDIR /opt                                                                                                                        

ADD demo.jar app.jar                                                                                                                

EXPOSE 1111                                                                                                                         

ENTRYPOINT ["java","-jar"]                                                                                                          

CMD ["app.jar"]                                                                                                                     

docker build -t demo:v1 .

4、 验 证 镜 像 是 否 完 整 可 运 行

[root@urbancabin tmp]# docker run -it --rm demo:v1                                                                                                                                                                                                                     
  .   ____          _            __ _ _                                                                                             

 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \                                                                                            

( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \                                                                                           

 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )                                                                                          

  '  |____| .__|_| |_|_| |_\__, | / / / /                                                                                           

 =========|_|==============|___/=/_/_/_/                                                                                            

 :: Spring Boot ::        (v2.1.0.RELEASE)                                                                                          

​                                                                                                                                    

2022-07-19 07:52:47.709  INFO 1 --- [           main] com.linkcircle.AcrpjApplication          : Starting AcrpjApplication v2.1.0.RE

LEASE on 94970e2dbc81 with PID 1 (/app/app.jar started by root in /app)                                                             

2022-07-19 07:52:47.720  INFO 1 --- [           main] com.linkcircle.AcrpjApplication          : No active profile set, falling back

 to default profiles: default                                                                                                       

2022-07-19 07:52:49.722  INFO 1 --- [           main] org.xnio                                 : XNIO version 3.3.8.Final           

2022-07-19 07:52:49.757  INFO 1 --- [           main] org.xnio.nio                             : XNIO NIO Implementation Version 3.3

.8.Final                                                                                                                            

2022-07-19 07:52:50.063  WARN 1 --- [           main] io.undertow.websockets.jsr               : UT026009: XNIO worker was not set o

n WebSocketDeploymentInfo, the default worker will be used                                                                          

2022-07-19 07:52:50.063  WARN 1 --- [           main] io.undertow.websockets.jsr               : UT026010: Buffer pool was not set o

n WebSocketDeploymentInfo, the default pool will be used                                                                            

2022-07-19 07:52:50.089  INFO 1 --- [           main] io.undertow.servlet                      : Initializing Spring embedded WebApp

licationContext                                                                                                                     

2022-07-19 07:52:50.090  INFO 1 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initial

ization completed in 2261 ms                                                                                                        

2022-07-19 07:52:50.116  INFO 1 --- [           main] o.s.b.w.servlet.ServletRegistrationBean  : Servlet dispatcherServlet mapped to

 [/]                                                                                                                                

2022-07-19 07:52:50.124  INFO 1 --- [           main] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingF

ilter' to: [/*]                                                                                                                     

2022-07-19 07:52:50.125  INFO 1 --- [           main] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFi

lter' to: [/*]                                                                                                                      

2022-07-19 07:52:50.125  INFO 1 --- [           main] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'formContentFilter'

 to: [/*]                                                                                                                           

2022-07-19 07:52:50.125  INFO 1 --- [           main] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilt

er' to: [/*]                                                                                                                        

2022-07-19 07:52:50.414  INFO 1 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'appli

cationTaskExecutor'                                                                                                                 

2022-07-19 07:52:50.763  INFO 1 --- [           main] o.s.b.w.e.u.UndertowServletWebServer     : Undertow started on port(s) 1111 (h

ttp) with context path ''                                                                                                           

2022-07-19 07:52:50.769  INFO 1 --- [           main] com.linkcircle.AcrpjApplication          : Started AcrpjApplication in 3.644 s

econds (JVM running for 4.652)                 

5、 将 docker本 地 仓 库 镜 像 打 包 至 本 地

docker save demo:v1 > demo_v1.tar

6、 将 镜 像 上 传 至 k3s环 境 仓 库

k3s ctr i import demo_v1.tar

7、 构 建 demo.yaml

[root@urbancabin k3s]# cat demo.yaml                                                                                                

---

apiVersion: v1 #类 型 为 Namespace                                                                                                     

kind: Namespace  #类 型 为 Namespace                                                                                                   

metadata:                                                                                                                           

  name: demo  #命 名 空 间 名 称                                                                                                          

  labels:                                                                                                                           

    name: demo                                                                                                                      

---

apiVersion: apps/v1                                                                                                                 

kind: Deployment                                                                                                                    

metadata:                                                                                                                           

  labels:                                                                                                                           

    app: demo                                                                                                                       

  name: urbancabin-demo                                                                                                             

  namespace: demo                                                                                                                   

spec:                                                                                                                               

  replicas: 3                                                                                                                       

  selector:                                                                                                                         

    matchLabels:                                                                                                                    
    
      app: demo                                                                                                                     

  template:                                                                                                                         

    metadata:                                                                                                                       
    
      labels:                                                                                                                       
    
        app: demo                                                                                                                   
    
    spec:                                                                                                                           
    
      containers:                                                                                                                   
    
      - name: urbancabin-demo-c                                                                                                     
    
        image: docker.io/library/demo:v3                                                                                            
    
        imagePullPolicy: IfNotPresent                                                                                               
    
        ports:                                                                                                                      
    
        - containerPort: 1111                                                                                                       

---

apiVersion: v1                                                                                                                      

kind: Service                                                                                                                       

metadata:                                                                                                                           

  labels:                                                                                                                           

   app: demo                                                                                                                        

  name: urbancabin-demo-svc                                                                                                         

  namespace: demo                                                                                                                   

spec:                                                                                                                               

  ports:                                                                                                                            

  - port: 1111                                                                                                                      

    name: urbancabin-demo-svc                                                                                                       

    protocol: TCP                                                                                                                   

    targetPort: 1111                                                                                                                

    nodePort: 30111                                                                                                                 

  selector:                                                                                                                         

    app: demo                                                                                                                       

  type: NodePort           

8、 创 建 pod

kubectl apply -f demo.yaml   
                                                                                                       
[root@urbancabin k3s]# kubectl get pod -n demo    
                                                                                  
NAME                               READY   STATUS    RESTARTS   AGE                                                                 

urbancabin-demo-7f49fc48dd-rplxc   1/1     Running   0          11m                                                                 

urbancabin-demo-7f49fc48dd-8dd27   1/1     Running   0          11m                                                                 

urbancabin-demo-7f49fc48dd-tzw65   1/1     Running   0          11m     

9、 查 看 svc


[root@urbancabin k3s]# kubectl get svc -n demo                                                                                      

NAME                  TYPE       CLUSTER-IP    EXTERNAL-IP   PORT(S)          AGE                                                   

urbancabin-demo-svc   NodePort   10.43.61.28           1111:30111/TCP   3h20m       

10、 访 问


[root@urbancabin k3s]# curl localhost:30111                                                                                     

当 前 时 间 : 2022-07-19 07:58:08

标签:服务,07,k3s,19,demo,环境,---,2022,main
来源: https://www.cnblogs.com/urbancabin/p/16517033.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有