跳转到主要内容

未提供项目描述

项目描述

Made with pop, a Python implementation of Plugin Oriented Programming Made with Python

Idem spot实例提供程序

关于

一个用于管理spot实例资源的Idem插件。spot实例是一种在多余的EC2容量上以折扣价格部署的实例。

什么是POP?

该项目使用pop构建,pop是基于Python实现的面向插件编程(POP)。POP旨在以新的方式将计算历史上的概念和智慧结合起来,以解决现代计算问题。

更多信息

入门

先决条件

  • Python 3.8+

  • git (如果从源安装或为项目贡献)

    要为项目贡献力量并设置本地开发环境,请参阅该项目源代码库中的CONTRIBUTING.rst

安装

您可以使用Python包安装程序(PyPI)或从源安装idem-spotinst

从PyPI安装

pip install idem-spotinst

从源安装

# clone repo
git clone git@<your-project-path>/idem-spotinst.git
cd idem-spotinst

# Setup venv
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

用法

设置

安装后,idem-spotinst执行和状态模块可通过pop hub访问。

更多信息

要使用 idem-spotinst 执行和状态模块来管理Spot实例资源,请设置一个credentials.yaml文件进行认证。对于 idem-spotinst,有多种认证后端,每个后端都有自己的独特参数集。例如

credentials.yaml

spotinst:
  default:
    account_id: act-11c833de
    token: b5460afe3c29a30c28abd54d190d1aa923587574321e75925cfc8268b54b4562

有关Idem凭证文件的更多信息,包括加密和环境变量的推荐步骤,请参阅使用Idem进行认证

现在您可以开始使用idem-spotinst了。

状态

Idem SLS文件使用状态确保资源处于所需的配置。idem-spotinst SLS文件支持三个状态函数:presentabsentdescribe

present

present 函数确保资源存在。如果资源不存在,运行 present 将创建它。如果资源已存在,运行 present 可能不会改变它,如果有配置更改,则可能更新它。

您只能更新spotinst REST API支持的值。

absent

absent 函数确保资源不存在。如果资源存在,运行 absent 将删除它。如果资源不存在,运行 absent 则没有效果。

describe

describe 函数返回从您的credentials.yaml配置文件中spotinst账户ID下指定类型所有资源的列表。

访问状态

可以通过 idem-spotinst/idem_spotinst/states 中的相对位置访问状态。

例如,可以使用以下SLS文件创建spotinst启动规范状态,使用 present 函数:

my_resource_launch_spec_state.sls

my_resource_launch_spec:
    spotinst.ocean.aws.launch_spec.present:
      - name: my_resource_launch_spec
      - taints:
        - effect: NoSchedule
          key: taint1
          value: taint-value-1
      - tags:
        - tagKey: Env
          tagValue: test
      - subnet_ids:
        - subnet-06747be60363933d9
        - subnet-03b6d0dfc57e1gbd6
      - security_group_ids:
        - sg-08dcdf4874a2f5g04
        - sg-0844f76b69f16b8b8
      - ocean_id: o-b78b1e79
      - labels:
        - key: tag1
          value: value1
        - key: tag2
          value: value2
      - instance_types:
        - t2.micro
      - image_id: ami-0c02fb55956c7d318

创建上述状态的Idem命令是

idem state $PWD/my_resource_launch_spec_state.sls

您的SLS应遵循Spotinst REST API中显示的资源参数结构。

  • 以蛇形命名法指定带有前导短横线和空格的URI参数“- “。

  • 将API请求体中的所有参数按所示精确指定,如Spotinst REST API中所示。

当前支持的资源状态

ocean_aws

k8s_cluster

launch_spec

项目详情


下载文件

下载适合您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分发

idem-spotinst-2.0.0.tar.gz (21.1 kB 查看散列)

上传时间

构建分发

idem_spotinst-2.0.0-py3-none-any.whl (23.9 kB 查看散列)

上传时间 Python 3

支持者