跳转到主要内容

云资源清理工具

项目描述

Cloudwash

简介

cloudwash 是一个用Python编写的库,可用于监控和删除公共和私有云服务提供商中的未使用云资源。

最重要的是,cloudwash 提供了一个名为 'swach' 的CLI实用程序,可用于向云资源发送清理命令。

cloudwash支持以下云服务提供商

云服务提供商 vms nics discs images pips stacks
Amazon EC2
Microsoft Azure NA
Google Cloud NA
VMWare NA NA
  • RedHat Enterprize虚拟化经理 - RHEV(尚未添加支持
  • RedHat Openstack(尚未添加支持
  • VMWare vCenter(尚未添加支持
  • 在公共云上部署的OCP集群(尚未添加支持

注意:您可以使用带有所有云服务提供商的 --all 标志来清理所有受支持的资源。

它帮助清理的资源类型列表可以在每个云服务提供商的 settings.yaml.template 文件中找到,包括清理标准。

安装

用户可以通过多种方式运行 cloudwash

ピップパッケージインストール

リナックスユーザーにとって、使用しているディストリビューションによっては、以下のパッケージ(またはリナックスディストリビューション用の似たパッケージ)をインストールする必要があります

  • libcurl-devel
  • openssl-devel
  • libxml2-devel
  • libxml2-static
  • gcc

Pycurlは、cloudwashの依存パッケージの1つで、上記の依存関係をインストールするように求めています。詳細については、http://pycurl.io/docs/latest/install.htmlを参照してください。

安装

$ mkdir ~/cloudwash && cd ~/cloudwash
$ pip install cloudwash

ドッカーオイラミンストール

コンテナイメージレジストリから

cloudwashのコンテナイメージは、quayで利用可能です。このイメージは、リリースされたPythonパッケージからインストールされたcloudwashで、リリースバージョンのタグがあります。最新タグは常に最新リリースバージョンのタグを指しています。

ローカルDockerFileからビルド

このgithubリポジトリにはDockerFileが含まれており、任意のコンテナビルドサービスを使用してビルドできます。

Dockerfile.devからコンテナをビルドする - これはcloudwashのgithubマスタブランチからのアクセスを提供するプレリリース機能を持つコンテナをビルドします。

OC BuildConfigインストール

このgithubリポジトリは、OCP / Kubernetesで使用できる準備完了のBuildConfigを提供します。このbuild configは、マスターブランチに基づくコンテナイメージをビルドするbuildconfigを作成します。このイメージを使用してcloudwash podをビルドします。

設定

cloudwashは、settings.yamlまたはconfディレクトリの設定にあるデータにアクセスするために、DynaConf設定Pythonモジュールを使用します。また、settings.yamlに明示的に記述する代わりに、環境変数を通じてユニークな方法でシークレットを宣言することもできます。

例えば、Azureパスワードフィールドは、環境変数をエクスポートすることで設定できます

# export CLEANUP_PROVIDERS__AZURE__PASSWORD = myPa$$worb"

PyPiパッケージを使用した設定

settings.yaml.templateをローカルの~/cloudwashディレクトリにsettings.yamlとしてコピー/ダウンロードし、クラウドプロバイダーの認証情報と他の設定詳細を更新して、リソースの報告およびクリーンアップに成功します。

cloudwashコンテナイメージを使用した設定

または、以下のいずれか

ドッカーオイメージには、Dockerfileからsettings.yamlが追加されています。このイメージからコンテナをビルドし、コンテナにアクセスしてsettings.yamlを実際の値で更新し、変更をイメージにコミットします。クリーンアップ活動に使用するためにコミットされたイメージを使用します。

または、上記のようにすべてのまたは特定の敏感な認証情報に対して環境変数をエクスポート/設定します。cloudwashコンテナ内のdynaconfはこれらの認証情報を環境変数から読み取ります。

  • 使用例
# swach --help

Usage: swach [OPTIONS] COMMAND [ARGS]...

A Cleanup Utility to remove cloud resources from cloud Providers!

Options:
-d, --dry Only show what will be removed from Providers!
--help Show this message and exit.

Commands:
azure		Cleanup Azure provider
aws			Cleanup Amazon provider
gce			Cleanup GCE provider
openstack	Cleanup OSP provider
rhev 		Cleanup RHEV provider
vmware 		Cleanup VMWare provider
  • クリーンアップヘルプ
# swach azure --help

Usage: swach azure [OPTIONS]

  Cleanup Azure provider

Options:
  --all             Remove all unused Resources from the provider
  --all_rg          Remove resource group only if all resources are older than SLA
  --nics            Remove only unused NICs from the provider
  --discs           Remove only unused DISCs from the provider
  --vms             Remove only unused VMs from the provider
  --pips            Remove only PiPs from the provider
  --help            Show this message and exit.

  • クラウドプロバイダークリーンアップヘルプ
# swach -d azure --all

<<<<<<< Running the cleanup script in DRY RUN mode >>>>>>>
The AZURE providers settings are initialized and validated !

=========== DRY SUMMARY ============

VMs:
	Deletable: ['test-bvhoduliam']
	Stoppable: ['foremanqe-nightly2']
DISCs:
	Deletable: ['test-bvhoduliam-osdisk']
NICs:
	Deletable: ['test-axodawttrw-nic0']
PIPs:
	Deletable: ['test-axodawttrw-pip0']
====================================
  • クリーンアップドライラン(オプション-dを使用してモニタモード)
# swach azure --all

<<<<<<< Running the cleanup script in ACTION mode >>>>>>>
The AZURE providers settings are initialized and validated !

Stopped [] and removed ['test-bvhoduliam'] VMs from Azure Cloud.
Removed following and all unused nics from Azure Cloud.
['test-axodawttrw-nic0']
Removed following and all unused discs from Azure Cloud.
['test-bvhoduliam-osdisk']
Removed following and all unused pips from Azure Cloud.
['test-axodawttrw-pip0']

実際のクリーンアップラン


ファイルのダウンロード

プラットフォームに対応するファイルをダウンロードしてください。どちらを選ぶか分からない場合は、パッケージのインストールについてもっと詳しく学んでください。

ソースディストリビューション

cloudwash-1.3.1.tar.gz (22.2 kB ハッシュを表示)

上传于 源代码

构建分发

cloudwash-1.3.1-py3-none-any.whl (18.2 kB 查看哈希值)

上传于 Python 3

由以下支持