• grpc系列2-针对k8s vip超时设置,自定义服务端和客户端镜像


    参考

    直接看第一手资料

    docker指令官网:https://docs.docker.com/engine/reference/commandline/docker/

    在Docker中运行特权容器很危险:https://www.4hou.com/posts/4YP2

    方案介绍

    默认情况下容器中的root用户只是host主机的一个普通用户,但如果docker run --privileged=true 就真正的给这个普通用户赋予了和host主机root用户的特权。

    docker --privileged=true 参数作用
    大约在0.6版,privileged被引入docker。
    使用该参数,container内的root拥有真正的root权限。
    否则,container内的root只是外部的一个普通用户权限。
    privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。
    甚至允许你在docker容器中启动docker容器。

    docker run --name mysql-test --privileged=true -e MYSQL_ROOT_PASSWORD=123456 -p 9092:3306  -d daocloud.io/library/mysql:5.7.6
    
    • 1

    成功运行命令

    查询配置

    cat /etc/sysctl.conf
    
    • 1

    构建镜像

    1:在本地登录到远程仓库:

    docker login --username=[用户名] -p=[密码]  远程ip:端口
    
    • 1

    2:给本地镜像打标签, [远程ip:端口/自定义路径/*]:[版本号] 就是:[标签名:版本号]

    docker tag [镜像id] [远程ip:端口/自定义路径/*]:[版本号]
    
    • 1

    3:推送

    docker push [远程ip:端口/自定义路径/*]:[版本号]
    
    • 1
    nvidia-docker build -t image-server-milvus-grpc:1.0.0.0730 .
    
    • 1

    2 服务端实际流程

    
        nvidia-docker build -t image-server-milvus-grpc:1.0.0.0730 .
    
        nvidia-docker run -it --privileged=true --entrypoint=/bin/bash image-server-milvus-grpc:1.0.0.0730
    
        echo 'net.ipv4.tcp_keepalive_time=600'  >> /etc/sysctl.conf
        echo 'net.ipv4.tcp_keepalive_intvl=30'  >> /etc/sysctl.conf
        echo 'net.ipv4.tcp_keepalive_probes=9' >> /etc/sysctl.conf
        sysctl -p
    
        docker commit 4f4af16d3eaa  image-server-milvus-grpc-new:1.0.0.0730
    
        docker tag image-server-milvus-grpc-new:1.0.0.0730 xx/image-server-milvus-grpc-new:1.0.0.0730   
    
        docker login -u xx -p xx xx.net
    
        docker push xx/image-server-milvus-grpc-new:1.0.0.0730
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    3 客户端实际流程

        cd /data/mart/12345/deploy/docker_server
    
        nvidia-docker build -t image-client-milvus-grpc:1.0.0.0730 .
    
        nvidia-docker run -it --privileged=true --entrypoint=/bin/bash image-client-milvus-grpc:1.0.0.0730
    
        echo 'net.ipv4.tcp_keepalive_time=600'  >> /etc/sysctl.conf
        echo 'net.ipv4.tcp_keepalive_intvl=30'  >> /etc/sysctl.conf
        echo 'net.ipv4.tcp_keepalive_probes=9' >> /etc/sysctl.conf
        sysctl -p
    
        docker commit ad37fc5edb9c image-client-milvus-grpc-new:1.0.0.0730
    
        docker tag image-client-milvus-grpc-new:1.0.0.0730 xx:1.0.0.0730   
    
        docker login -u xx -p xx xx
    
        docker push xx/image-client-milvus-grpc-new:1.0.0.0730
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    4 继承自建镜像重新构建镜像,解决超时vip主动中断的问题

    服务端

    FROM xx/image-server-milvus-grpc-new:1.0.0.0730
    
    
    COPY . /deploy
    WORKDIR /deploy
    
    RUN pip3.7 install -r requirements.txt \
        && python3.7 paddle_model.py
    
    ENTRYPOINT python3.7 web_service.py
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    客户端

    FROM xx/image-client-milvus-grpc-new:1.0.0.0730
    
    COPY . /deploy
    WORKDIR /deploy
    
    RUN pip3.7 install -r requirements.txt
    
    ENTRYPOINT ["gunicorn", "-c", "gunicorn_cfg.py", "main_api:app"]
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    4 继承自建镜像报错,解决方案

    解决方案参考:https://blog.csdn.net/qq_15821487/article/details/125885828?spm=1001.2014.3001.5502

  • 相关阅读:
    Spring 源码阅读 74:事务管理的原理 - BeanFactoryTransactionAttributeSourceAdvisor 分析
    AcWing周赛76场 && LeetCode单周赛318场
    SpringCloud 集成Sentinel
    还在为如何编写Web自动化测试用例而烦恼嘛?资深测试工程师手把手教你Selenium 测试用例编写
    论文阅读:Rethinking Range View Representation for LiDAR Segmentation
    SQLServer如何获取客户端IP
    JavaSE数据类型
    Bootstrap Table 实现 分页选中
    Unity DOTS学习 前置知识(二)
    C语言十六弹 --求两个整数二进制位不同的位数
  • 原文地址:https://blog.csdn.net/qq_15821487/article/details/125872227