真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

kubernates中怎么部署springboot

本篇文章給大家分享的是有關(guān)kubernates中怎么部署springboot,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

在封丘等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),營銷型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站建設(shè),封丘網(wǎng)站建設(shè)費(fèi)用合理。

1、創(chuàng)建一個(gè)Springboot應(yīng)用

    List-1.1

    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class HelloController {
    
        @RequestMapping(value = "/")
        public String hello(){
            System.out.println("hello方法");
            return "Hello, k8s!";
        }
    }

    之后mvn clean package,打包,得到app.jar,和Dockerfile放在同一個(gè)目錄下

    List-1.2

    
    mjduan@mjduan-ubuntu:/opt/software/docker/springboot-k8s$ ll
    total 676796
    drwxr-xr-x 2 mjduan mjduan      4096 2月  15 15:43 ./
    drwxr-xr-x 4 mjduan mjduan      4096 2月  15 15:30 ../
    -rw-r--r-- 1 mjduan mjduan  16674428 2月  15 15:31 app.jar
    -rw-r--r-- 1 mjduan mjduan       362 2月  15 15:37 Dockerfile

2、制作鏡像

 Dockerfile的內(nèi)容為

    List-2.1

FROM openjdk:8
    
    ADD app.jar /opt/app/app.jar
    RUN bash -c 'touch /opt/app/app.jar'
    
    # 開放8080端口
    EXPOSE 8080
    
    ENV TZ=Asia/Shanghai
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
    
    # 配置容器啟動(dòng)后執(zhí)行的命令
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/opt/app/app.jar"]

之后執(zhí)行命令來得到鏡像

    List-2.2

mjduan@mjduan-ubuntu:/opt/software/docker/springboot-k8s$ docker build -t hello:1.0 .

3、將該鏡像放到所有的節(jié)點(diǎn)上

    之后將這個(gè)鏡像放到k8s的master和倆個(gè)node上,這里我是先用

    docker save hello:1.0>hello.tar

    命令得到文件hello.tar,之后將hello.tar用scp命令傳到k8s的master和倆個(gè)node上。

    之后在k8s的master和倆個(gè)node上,執(zhí)行如下命令得到鏡像hello:1.0

    docker load -i hello.tar

4、kubernates上部署

    好了,上述步驟完成后,在k8s的master上創(chuàng)建yaml文件

   [root@localhost mjduan]# vi /data/mjduan/hello.yaml

    hello.yaml的內(nèi)容如下

    apiVersion: apps/v1beta2
    kind: Deployment
    metadata:
      name: example-demo3
      labels:
        app: example-demo3
    spec:
      replicas: 1
      revisionHistoryLimit: 10
      selector:
        matchLabels:
          app: example-demo3
      template:
        metadata:
          labels:
            app: example-demo3
        spec:
          containers:
          - name: example-demo3
            #image名稱是我們的hello:1.0
            image: hello:1.0
            ports:
            - containerPort: 8080
              protocol: TCP
            livenessProbe:
              httpGet:
                path: /
                port: 8080
              initialDelaySeconds: 30
              timeoutSeconds: 30
            imagePullPolicy: Never
          # Comment the following tolerations if Dashboard must not be deployed on master
          tolerations:
          - key: node-role.kubernetes.io/master
            effect: NoSchedule

    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: example-demo3
      labels:
        app: example-demo3
    spec:
      ports:
        - port: 8080
          targetPort: 8080
      selector:
        app: example-demo3
      type: NodePort

    部署Docker image,命令如下

    [root@localhost mjduan]# kubectl create -f hello.yaml 
    deployment.apps/example-demo3 created
    service/example-demo3 created

    查看pod信息,如下

[root@localhost mjduan]# kubectl get pods
    NAME                             READY     STATUS              RESTARTS   AGE
    example-demo3-746fc684df-h5dpq   1/1       Running             0          10s

    查看service,如下,NAME為example-demo3的那個(gè)就是我們剛剛部署的,端口映射是宿主機(jī)的32300對應(yīng)到容器的8080

    [root@localhost mjduan]# kubectl get services
    NAME            TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
    example-demo3   NodePort    10.107.189.127           8080:32300/TCP   1m
    kubernetes      ClusterIP   10.96.0.1                443/TCP          2h

    訪問服務(wù)

    [root@localhost mjduan]# curl http://k8s.master:32300
    Hello, k8s!

以上就是kubernates中怎么部署springboot,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


文章題目:kubernates中怎么部署springboot
轉(zhuǎn)載來于:http://weahome.cn/article/ppoidi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部