zoukankan      html  css  js  c++  java
  • docker化安装apollo

    一、安装Apollo服务

    docker化安装
    http://blog.raikay.com/post/2020/apollo/(二中apollo搭建,步骤中有修改的部分,亲测主体有效)


    # 如果没有安装mysql,且想使用docker化的mysql,可执行这句
    # docker run -p 23306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

    新建3个数据库,其中有两个需要更名。

    docker pull idoop/docker-apollo

    docker run -it --net="host" --name myapollo -d
    -e PORTAL_DB='jdbc:mysql://127.0.0.1:3306/ApolloPortalDB?characterEncoding=utf8'
    -e PORTAL_DB_USER='root'
    -e PORTAL_DB_PWD='root'
    -e DEV_DB='jdbc:mysql://127.0.0.1:3306/ApolloConfigDBDev?characterEncoding=utf8'
    -e DEV_DB_USER='root'
    -e DEV_DB_PWD='root'
    -e PRO_DB='jdbc:mysql://127.0.0.1:3306/ApolloConfigDBPro?characterEncoding=utf8'
    -e PRO_DB_USER='root'
    -e PRO_DB_PWD='root'
    idoop/docker-apollo:latest

    二、操作Apollo的web页面

    10.1.2.3:8070

    账号和密码

    apollo

    admin

    1、新建部门名称
    数据库中修改:ApolloPortalDB库——> ServerConfig表 ——> key=organizations的记录,修改value值。
    比如:新增A部门,value的值修改为:
    [{"orgId":"TEST1","orgName":"样例部门1"},{"orgId":"TEST2","orgName":"样例部门2"},{"orgId":"depart01","orgName":"A部门"}]

    2、创建项目
    首页——> 创建项目

    3、新建集群名称
    选择项目——>底部,添加集群

    4、新建命名空间名称(命名空间就相当于一个文件)
    选择项目——>底部,添加命名空间

    5、删除命名空间名称
    管理员工具——>删除应用、集群、命名空间——>底部,查询命名空间——>删除命名空间
    其他删除方法是无效的。


    三、访问Apollo的服务

    通过api访问
    (一)访问非json格式的单个值
    http://10.1.2.3:8083/configs/dev01/saas/depart01.n1
    http://10.1.2.3:8083/configs/dev01/saas/application
    http://10.1.2.3:8083/configs/dev01/saas/haha.txt

    # 8083代表PRO环境。在mysql数据库中修改的。
    # configs 固定写法
    # dev01 项目名称,又称appID
    # saas 集群名称
    # depart01.n1、application都是命名空间。

    通过python3调用apollo的api

    python3安装apollo客户端
    pip install pyapollos

    代码

    from pyapollos import ApolloClient
    
    # http://10.1.2.3:8083/configs/dev01/saas/depart01.n1
    # 8083代表PRO环境。在mysql数据库中修改的。
    apollo_client = ApolloClient(app_id="dev01", cluster='saas', config_server_url="http://10.1.2.3:8083")
    
    # depart01.n1是命名空间。application是命名空间。
    print(apollo_client.get_value('k1', namespace='depart01.n1'))
    print(apollo_client.get_value('w2', namespace='application'))
    print(apollo_client.get_value('content', namespace='haha.txt'))
    

     参考:https://www.pythonf.cn/read/1485  

    默认的application.properties是k-v格式,key填实际的值就行,namespace不带文件后缀

    新建的私有namespace=test.txt不是k-v格式,namespace参数必须带文件后缀,但是ApolloClient只有这一个get函数,必须传key。

    (二)访问json格式的全部值


    参考:https://www.cnblogs.com/zhuoyanXiaNa/p/11195506.html

    http://10.1.2.3:8083/configfiles/json/dev01/saas/depart01.n1
    http://10.1.2.3:8083/configfiles/json/dev01/saas/application

    configfiles/json 固定写法

  • 相关阅读:
    AC自动机学习笔记(模板)
    codeforces1328E
    Codeforces 1288E- Messenger Simulator (树状数组)
    线性基小记
    HDU3949
    矩阵快速幂小记
    5E
    5D
    5C
    5B
  • 原文地址:https://www.cnblogs.com/andy9468/p/14231731.html
Copyright © 2011-2022 走看看