库伯内特集群管弦乐队

kqueen的Python项目详细描述


https://travis-ci.org/Mirantis/kqueen.svg?branch=masterhttps://badge.fury.io/py/kqueen.svghttps://coveralls.io/repos/github/Mirantis/kqueen/badge.svg?branch=masterhttps://readthedocs.org/projects/kqueen/badge/?version=master

概述

关于kqueen体系结构和用例的更多信息在RATIONALE文件中描述。

要求

  • python v3.6及更高版本。
  • PIP V3及更高版本。
  • Docker稳定版本(最好是v17.03及更高版本)。
  • docker compose stable release(v1.16.0及更高版本更佳)。

演示环境

  • 确保可以访问文件kqueen/config/prod.pyJENKINS_API_URL变量中定义的jenkins服务器。

  • 运行这些命令在容器中运行kqueen api和ui。

    docker-compose -f docker-compose.yml -f docker-compose.demo.yml up
    

    或安装ETCD数据目录:

    docker-compose -f docker-compose.etcd-volume.yml -f docker-compose.demo.yml up
    
  • 您可以使用用户admin和密码default登录。 在首次启动api之前,可以在docker-compose.demo.yml文件中更改默认用户名和密码。

  • 导航到用户界面

开发

  • 安装依赖项

    # Debian/Ubuntu
    sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev
    
    # RedHat/CentOS:
    sudo yum install python-devel openldap-devel
    
  • 准备python虚拟环境

    python -m ensurepip --default-pip
    pip install --user pipenv
    pipenv --python 3.6
    pipenv install --dev
    
    pipenv shell
    
  • 使用ETCD存储启动Docker容器

    docker-compose up -d
    
  • 使用default密码初始化kqueen db:addadmin用户

    ./bootstrap_admin.py DemoOrg demoorg admin default
    
  • 您可以直接启动kqueen api服务

    kqueen &
    chrome --new-tab http://127.0.0.1:5000/api/docs/
    
  • 准备kubernetes配置文件

Kubernetes configuration file that describes existing cluster can be used in Kqueen. Rename it with kubernetes_remote and place to the root of the project. For test purposes this file can be empty, but should be added manually.

如何

  • 在上次运行后清除ETCD存储器

    etcdctl rm --recursive /kqueen
    
  • 立即将管理员用户、组织、模拟群集和配置程序添加到etcd存储中,执行以下操作

    ./devenv.py
    
  • 若要在提供的demoorg名称空间中的关联demoorg组织中添加具有default密码的单个admin用户,请执行以下操作

    ./bootstrap_admin.py DemoOrg demoorg admin default
    
  • 测试访问令牌。curljq应该安装在您的系统中

    TOKEN=$(curl -s -H "Content-Type: application/json" --data '{"username":"admin","password":"default"}' -X POST localhost:5000/api/v1/auth | jq -r '.access_token')
    echo $TOKEN
    curl -H "Authorization: Bearer $TOKEN" localhost:5000/api/v1/clusters
    
  • 设置用于手动测试和调试的烧瓶壳

    export FLASK_APP=kqueen.server
    export prometheus_multiproc_dir=$(mktemp -d)
    flask shell
    
  • 用代码更改更新docker图像

测试开发更改有两种方法。首先是自动的:创建一个单独的分支并推pr,然后是travisci 建立镜像并自动推到Docker Hub上。第二个是在本地重建kqueen api映像:

docker build -t kqueen/api:your_tag .

配置

默认情况下,我们从文件config/dev.py加载配置 可以由KQUEEN_CONFIG_FILE环境变量配置。任何 将加载和保存与名称匹配的环境变量KQUEEN_*。 配置。

文档

完整的文档可以在 kqueen.readthedocs.io

api引用定义在api.yml<kqueen_api_url>/api/docs

演示

generic kqueen概述

https://img.youtube.com/vi/PCAwCxPQc2A/0.jpg

aks(蔚蓝),位于KQueen

https://img.youtube.com/vi/xHydnJGcs2k/0.jpg

kqueen中的网络策略管理

以下视频概述了如何管理Calico网络策略 对于使用kqueen的google-kubernetes引擎提供的kubernetes集群。

https://img.youtube.com/vi/MYXFI75Fm10/0.jpg

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将json反序列化为列表<Object>   Spring框架中的java回滚机制   java如何使反射在JDK 16及更高版本上工作?   java终结器如何导致可移植性问题?   java Hibernate使用ON子句或alternative左连接获取   java aws codebuild maven项目失败“保存的引用不明确”   并发Java多线程读取单个大文件   java如果输入仅由1和0组成,请将其从二进制转换为十进制   java在RealmRecyServiceAdapter上调用updateData实际上并没有更新数据   javajsf:h commandlink操作是打开同一页面的新弹出窗口,而不是调用bean方法   java我们可以为其中一个变量同时添加@Column和@OneToOne注释吗?   java JBoss AS 7自定义登录模块从未调用   如何检查Java中是否存在数组中的元素   java Spring重试:未调用带@Recover注释的方法   如何解析带有Java错误HTTP格式问题的php消息   java如何在weblogic中部署可选的包共享库   java将配置单元中的数据集保存为avro格式的合并列   用Guice注入java泛型   java单选按钮组和额外选项   javajackson:如何读取字符串作为列表?