美文网首页「高级篇」docker+k8s微服务容器化实践k8s那点事儿Docker
『高级篇』docker之DockerSwarm调整微服务及服务配

『高级篇』docker之DockerSwarm调整微服务及服务配

作者: IT人故事会 | 来源:发表于2018-11-05 08:52 被阅读4次

    原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
    原文链接地址:『高级篇』docker之DockerSwarm调整微服务及服务配置(29)

    上次已经搭建好了swarm的集群环境,server01,server02,server03三台虚拟机,每一台的manager节点也是work节点,首先我们考虑的问题是服务的发现,从微服务的角度考虑,我们有得服务是为了其他服务使用的,如message service,user service,对于swarm上,有的需要暴露端口给其他服务使用,有的是直接通过服务的名称就可以访问的,改造模式,改造代码,然后上传到镜像仓库。最后配置一个docker stack 把他们的关系编写出来,一条命令搞定了。源码:https://github.com/limingios/msA-docker swarm分支

    修改微服务的配置

    • course-dubbo-service

    sh

    #!/usr/bin/env bash
    
    source ~/.bash_profile
    mvn package
    docker build -f ./Dockerfile-hub -t zhugeaming/course-dubbo-service:latest  .
    docker push zhugeaming/course-dubbo-service:latest
    

    Dockerfile

    FROM java:openjdk-8
    MAINTAINER liming www.idig8.com
    
    COPY target/course-dubbo-service-1.0-SNAPSHOT.jar /course-dubbo-service.jar
    
    ENTRYPOINT ["java","-jar","/course-dubbo-service.jar"]
    
    • course-edge-service

    sh

    #!/usr/bin/env bash
    
    source ~/.bash_profile
    mvn package
    docker build -f ./Dockerfile-hub -t zhugeaming/course-edge-service:latest .
    docker push zhugeaming/course-edge-service:latest
    

    Dockerfile

    FROM java:openjdk-8
    MAINTAINER liming www.idig8.com
    
    COPY target/course-edge-service-1.0-SNAPSHOT.jar /course-edge-service.jar
    
    ENTRYPOINT ["java","-jar","/course-edge-service.jar"]
    
    • gataway-zuul

    sh

    #!/usr/bin/env bash
    
    source ~/.bash_profile
    mvn package
    docker build -f ./Dockerfile-hub -t zhugeaming/gataway-zuul:latest .
    docker push zhugeaming/gataway-zuul:latest
    

    Dockfile

    FROM java:openjdk-8
    MAINTAINER liming www.idig8.com
    
    COPY target/gataway-zuul-1.0-SNAPSHOT.jar /gataway-zuul.jar
    
    ENTRYPOINT ["java","-jar","/gataway-zuul.jar"]
    
    • user-edge-service

    sh

    #!/usr/bin/env bash
    source ~/.bash_profile
    mvn package
    docker build -f ./Dockerfile-hub -t zhugeaming/user-edge-service:latest .
    docker push zhugeaming/user-edge-service:latest
    

    Dockerfile

    #!/usr/bin/env bash
    source ~/.bash_profile
    mvn package
    docker build -f ./Dockerfile-hub -t zhugeaming/user-edge-service:latest .
    docker push zhugeaming/user-edge-service:latest
    
    • user-thrift-service

    sh

    #!/usr/bin/env bash
    source ~/.bash_profile
    mvn package
    docker build -f ./Dockerfile-hub -t zhugeaming/user-thrift-service:latest .
    docker push zhugeaming/user-thrift-service:latest
    

    Dockerfile

    FROM java:openjdk-8
    MAINTAINER liming www.idig8.com
    
    COPY target/user-thrift-service-1.0-SNAPSHOT.jar /user-thrift-service.jar
    
    ENTRYPOINT ["java","-jar","/user-thrift-service.jar"]
    
    • 编写yml文件 使用docker stack 进行批量生成
    version: "3.4"
    services:
      message-thrift-python-service:
        image: zhugeaming/message-thrift-python-service:latest
        deploy:
          endpoint_mode: dnsrr
          resources:
            limits:
              cpus: "0.2"
              memory: "128M"
    
      user-thrift-service:
        image: zhugeaming/user-thrift-service:latest
        deploy:
          endpoint_mode: dnsrr
          resources:
            limits:
              cpus: "0.2"
              memory: "512M"
    
      user-edge-service:
        image: zhugeaming/user-edge-service:latest
        deploy:
          endpoint_mode: vip
          resources:
            limits:
              cpus: "0.2"
              memory: "512M"
        ports:
        - "8082:8082"
        depends_on:
        - user-thrift-service
        - message-thrift-python-service
    
      course-dubbo-service:
        image: zhugeaming/user-edge-service:latest
        deploy:
          endpoint_mode: dnsrr
          resources:
            limits:
              cpus: "0.2"
              memory: "512M"
        depends_on:
        - user-thrift-service
    
      course-edge-service:
        image: zhugeaming/course-edge-service:latest
        deploy:
          endpoint_mode: vip
          resources:
            limits:
              cpus: "0.2"
              memory: "512M"
        ports:
        - "8081:8081"
        depends_on:
        - user-edge-service
      gateway-zuul:
        image: zhugeaming/gataway-zuul:latest
        deploy:
          endpoint_mode: vip
          resources:
            limits:
              cpus: "0.2"
              memory: "512M"
        ports:
        - "8080:8080"
        depends_on:
        - user-edge-service
        - course-edge-service
    
    networks:
      default:
        external:
          name: idig8-overlay
    

    docker stack 创建,因为机器内存太小,我还是使用的外网,下载镜像有点慢。

    docker stack deploy -c ms-service.yml ms
    docker stack services ms 
    

    PS:创建成功,下一步就是调试微服务。

    相关文章

      网友评论

        本文标题:『高级篇』docker之DockerSwarm调整微服务及服务配

        本文链接:https://www.haomeiwen.com/subject/stnkxqtx.html