库伯内特集群管弦乐队
kqueen的Python项目详细描述
概述
关于kqueen体系结构和用例的更多信息在RATIONALE文件中描述。
要求
- python v3.6及更高版本。
- PIP V3及更高版本。
- Docker稳定版本(最好是v17.03及更高版本)。
- docker compose stable release(v1.16.0及更高版本更佳)。
演示环境
确保可以访问文件
kqueen/config/prod.py
中JENKINS_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
测试访问令牌。curl,jq应该安装在您的系统中
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_*。 配置。
演示
generic kqueen概述
aks(蔚蓝),位于KQueen
kqueen中的网络策略管理
以下视频概述了如何管理Calico网络策略 对于使用kqueen的google-kubernetes引擎提供的kubernetes集群。