Virtual TJBot on IBMcloud 환경의 계정을 깨끗하게 만드는 방법

12301 단어 ibmcloud

소개



Virtual TJBot Starter을 만들 때 계정을 여러 개 만드는 대신
매번 배포가 끝난 서비스를 지워서는 만드는 일을 하고 있었습니다.
수수함에 수고가 걸리므로, 이때 스크립트화해 버려! 그래서이 기사를 남겨 둡니다.

VirtualTJBot의 환경을 재작성하고 싶을 때나, Node-RED의 버전을 올리고 싶을 때에 사용할 수 있습니다.

필요한 것



Linux 또는 osx에서 bash 스크립트가 움직이는 ibmcloud 명령을 사용할 수 있음
CentOS8.0에서 시도했습니다.

전제


  • 라이트 계정으로 테스트 중이므로 다른 환경에서는 시도하지 않았습니다.
  • 로그인 한 계정에서 서비스, CloudFoundry, IAM API Key 등을 모두 지우므로,
    혼합하여 사용하는 환경에서는 사용하지 마십시오
  • US-SOUTH (달라스)를 로그인 타겟의 Region으로하고 있습니다

  • 이동하는 방법



    1. IBMcloud에 로그인


    $ ibmcloud login
    

    2. 쉘 실행


    $ bash ./reset-vitualtjbot.sh
    

    쉘 내용



    reset-vitualtjbot.sh
    #!/bin/bash
    
    ibmcloud target -r us-south --cf
    
    ibmcloud resource service-instances
    echo -----------------------------------------------------------------------------------------------
    IFS=$'\n'
    for SERVICE_INSTANCE in `ibmcloud resource service-instances -q | grep service_instance | awk -F '  ' '{print $1}'`
    do
            ibmcloud resource service-instance-delete "${SERVICE_INSTANCE}"  -f --recursive
    done
    echo -----------------------------------------------------------------------------------------------
    ibmcloud resource service-instances
    echo -----------------------------------------------------------------------------------------------
    
    ibmcloud cf a
    for CF_APP in `ibmcloud cf -q a | grep started | awk -F '  ' '{print $1}'`
    do
            ibmcloud cf delete "${CF_APP}" -f
    done
    echo -----------------------------------------------------------------------------------------------
    ibmcloud cf a
    echo -----------------------------------------------------------------------------------------------
    
    ibmcloud iam service-ids
    for SERVICE_ID in `ibmcloud iam service-ids | grep serviceId | awk -F '  ' '{print $1}'`
    do
            ibmcloud iam service-id-delete "${SERVICE_ID}" -f
    done
    echo -----------------------------------------------------------------------------------------------
    ibmcloud iam service-ids
    echo -----------------------------------------------------------------------------------------------
    
    ibmcloud iam api-keys
    for API_KEY in `ibmcloud iam api-keys | grep ApiKey | awk -F '  ' '{print $1}'`
    do
            ibmcloud iam api-key-delete "${API_KEY}" -f
    done
    echo -----------------------------------------------------------------------------------------------
    ibmcloud iam api-keys
    echo -----------------------------------------------------------------------------------------------
    

    실행 샘플



    실행 전 화면 샘플



    여기에 배포되고 있는 것을 전부 지워버립니다.
    고소리입니다.


    실행 상태 샘플


    $ bash ./reset-vitualtjbot.sh
    地域 us-south
     に切り替えました
    ターゲットの Cloud Foundry (https://api.us-south.cf.cloud.ibm.com)
    
    ターゲットの組織 {IBM ID}
    
    ターゲットのスペース dev
    
    
    
    API エンドポイント:      https://cloud.ibm.com
    地域:                    us-south
    ユーザー:                {IBM ID}
    アカウント:              BMXUG IOT-HANDSON's Account (daf2e733339944d3a329d217a518fd74)
    リソース・グループ:      Default
    CF API エンドポイント:   https://api.us-south.cf.cloud.ibm.com (API バージョン: 2.151.0)
    組織:                    {IBM ID}
    スペース:                dev
    {IBM ID} としてアカウント BMXUG IOT-HANDSON's Account の すべての場所 で リソース・グループ Default 内の タイプ service_instance のインスタンスを取得しています...
    OK
    名前                                      場所       状態     タイプ
    virtual-tjbot-starter-20200815111925304   jp-tok     active   service_instance
    Continuous Delivery                       jp-tok     active   service_instance
    TJBot_LanguageTranslator                  jp-tok     active   service_instance
    TJBot_SpeechToText                        jp-tok     active   service_instance
    Cloudant-aw                               us-south   active   service_instance
    TJBot_TextToSpeech                        jp-tok     active   service_instance
    TJBot_VisualRecognition                   us-south   active   service_instance
    TJBot_Assistant                           jp-tok     active   service_instance
    -----------------------------------------------------------------------------------------------
    {IBM ID} としてアカウント BMXUG IOT-HANDSON's Account のリソース・グループ Default のサービス・インスタンス virtual-tjbot-starter-20200815111925304 を削除しています...
    OK
    ID crn:v1:bluemix:public:toolchain:jp-tok:a/daf2e733339944d3a329d217a518fd74:71dc496a-80db-4d31-a91f-29bbc7f01196:: のサービス・インスタンス virtual-tjbot-starter-20200815111925304 は正常に削 除されます
    {IBM ID} としてアカウント BMXUG IOT-HANDSON's Account のリソース・グループ Default のサービス・インスタンス Continuous Delivery を削除しています...
    OK
    ID crn:v1:bluemix:public:continuous-delivery:jp-tok:a/daf2e733339944d3a329d217a518fd74:5ac78c35-a4bc-4f72-9a06-c1c63e2fe015:: のサービス・インスタンス Continuous Delivery は正常に削除されます
    {IBM ID} としてアカウント BMXUG IOT-HANDSON's Account のリソース・グループ Default のサービス・インスタンス TJBot_LanguageTranslator を削除しています...
    OK
    ID crn:v1:bluemix:public:language-translator:jp-tok:a/daf2e733339944d3a329d217a518fd74:aaaac9f4-06c9-4f74-979c-0dffd9bd0b7c:: のサービス・インスタンス TJBot_LanguageTranslator は正常に削除されます
    {IBM ID} としてアカウント BMXUG IOT-HANDSON's Account のリソース・グループ Default のサービス・インスタンス TJBot_SpeechToText を削除しています...
    OK
    ID crn:v1:bluemix:public:speech-to-text:jp-tok:a/daf2e733339944d3a329d217a518fd74:784f472f-1a7c-4842-ac47-fef71e7ab02d:: のサービス・インスタンス TJBot_SpeechToText は正常に削除されます
    {IBM ID} としてアカウント BMXUG IOT-HANDSON's Account のリソース・グループ Default のサービス・インスタンス Cloudant-aw を削除しています...
    OK
    ID crn:v1:bluemix:public:cloudantnosqldb:us-south:a/daf2e733339944d3a329d217a518fd74:bf350153-6f2c-47b0-a181-c6e1a5b9955d:: のサービス・インスタンス Cloudant-aw は正常に削除されます
    {IBM ID} としてアカウント BMXUG IOT-HANDSON's Account のリソース・グループ Default のサービス・インスタンス TJBot_TextToSpeech を削除しています...
    OK
    ID crn:v1:bluemix:public:text-to-speech:jp-tok:a/daf2e733339944d3a329d217a518fd74:781e1da4-53d2-4c3e-b5a7-e14d57d06723:: のサービス・インスタンス TJBot_TextToSpeech は正常に削除されます
    {IBM ID} としてアカウント BMXUG IOT-HANDSON's Account のリソース・グループ Default のサービス・インスタンス TJBot_VisualRecognition を削除しています...
    OK
    ID crn:v1:bluemix:public:watson-vision-combined:us-south:a/daf2e733339944d3a329d217a518fd74:283decae-aa08-4701-a8a9-237733242b51:: のサービス・インスタンス TJBot_VisualRecognition は正常に削除されます
    {IBM ID} としてアカウント BMXUG IOT-HANDSON's Account のリソース・グループ Default のサービス・インスタンス TJBot_Assistant を削除しています...
    OK
    ID crn:v1:bluemix:public:conversation:jp-tok:a/daf2e733339944d3a329d217a518fd74:15578fb1-3444-4bcd-b503-3ac2eccff1a6:: のサービス・インスタンス TJBot_Assistant は正常に削除されます
    -----------------------------------------------------------------------------------------------
    {IBM ID} としてアカウント BMXUG IOT-HANDSON's Account の すべての場所 で リソース・グループ Default 内の タイプ service_instance のインスタンスを取得しています...
    OK
    サービス・インスタンスが見つかりません。
    -----------------------------------------------------------------------------------------------
    'cf a' を起動しています...
    
    {IBM ID} として組織 {IBM ID} / スペース dev 内のアプリを取得しています...
    OK
    
    名前                                      要求された状態   インスタンス   メモリー   ディスク   URL
    virtual-tjbot-starter-20200815111925304   started          1/1            256M       1G         virtual-tjbot-starter-20200815111925304.mybluemix.net
    'cf delete virtual-tjbot-starter-20200815111925304 -f' を起動しています...
    
    {IBM ID} として組織 {IBM ID} / スペース dev 内のアプリ virtual-tjbot-starter-20200815111925304 を削除しています...
    OK
    -----------------------------------------------------------------------------------------------
    'cf a' を起動しています...
    
    {IBM ID} として組織 {IBM ID} / スペース dev 内のアプリを取得しています...
    OK
    
    アプリが見つかりませんでした
    -----------------------------------------------------------------------------------------------
    {IBM ID} として 現行アカウント にバインドされるすべてのサービス ID を取得しています...
    OK
    ID                                               名前   作成日時                最終更新                説明   ロック中
    ServiceId-e66846db-68d0-4eab-b0fd-28492155f262   TJB    2020-08-14T00:55+0000   2020-08-14T01:01+0000          false
    -----------------------------------------------------------------------------------------------
    {IBM ID} として 現行アカウント にバインドされるすべてのサービス ID を取得しています...
    OK
    ID                                               名前   作成日時                最終更新                説明   ロック中
    ServiceId-e66846db-68d0-4eab-b0fd-28492155f262   TJB    2020-08-14T00:55+0000   2020-08-14T01:01+0000          false
    -----------------------------------------------------------------------------------------------
    {IBM ID} としてアカウント daf2e733339944d3a329d217a518fd74 のすべての API キーを取得しています...
    OK
    名前                                                  説明   作成日時                最終更新                ロック中   ID
    virtual-tjbot-starter-20200815111925304 の API キー          2020-08-15T11:20+0000   2020-08-15T11:20+0000   false      ApiKey-e0102d58-2cae-4286-860c-5747ff054bc4
    {IBM ID} としてアカウント daf2e733339944d3a329d217a518fd74 の API キー virtual-tjbot-starter-20200815111925304 の API キー を削除しています...
    OK
    API キー virtual-tjbot-starter-20200815111925304 の API キー が削除されました
    -----------------------------------------------------------------------------------------------
    {IBM ID} としてアカウント daf2e733339944d3a329d217a518fd74 のすべての API キーを取得しています...
    OK
    名前   説明   作成日時   最終更新   ロック中   ID
    -----------------------------------------------------------------------------------------------
    

    실행 후 샘플



    깨끗하게 사라졌습니다.


    ToDo



    IBM cloud DevOps에서 사용되는 Continues Delivery 기능을 사용하여 배치 중입니다.
    Github 리포지토리는 IBM ID에 연결되어 ibmcloud의 gitlab에 복제됩니다.
    이쪽을 깨끗하게 하지 않으면 연속해서 배포해 갈 때마다 클론한 리포지토리가 계속 증가하기 때문에,
    앞으로의 과제입니다.

    좋은 웹페이지 즐겨찾기