선점 인스턴스의 중지 (시작)를 slack에 알릴 수 있습니다.

2557 단어 슬랙gcpgceKaggle

개요



일반적으로 kaggle에서 GCE를 사용할 때 선점 인스턴스를 사용하지만 선점 인스턴스는 24 시간 이내에 중지됩니다.
멈추면 "멈추었어"라고 말할 수 있기를 바랍니다. GCE는 쉽게 할 수 있다는 것을 알았기 때문에 각서입니다.

이런 식으로 할 수 있어요(귀여워...)


사전 준비



먼저 사전 준비로 알리고 싶은 슬랙 채널과 같은 웹 후크를 설정하십시오.

아래에서 설명하기 쉽도록 webhook url을 https://hogehoge으로, 자신에게 멘션을 날리도록 자신의 사용자 이름을 hoge이라고합니다.

쉘 스크립트에서의 동작 확인



조심스럽게하기 위해 먼저 쉘 스크립트에서 작동을 확인하십시오.
다음과 같은 쉘 스크립트를 작성하십시오. 이것을 tmp.sh이라고합니다.

#bin/bash

WEBHOOK_URL="https://hogehoge"
JSON="{\"text\": \"<@hoge> インスタンスが停止しちゃったよ!\"}"
curl -s -X POST -H 'Content-Type: application/json' -d "$JSON" $WEBHOOK_URL

멘션은 <@hoge>이 될 수 있습니다.
글쎄, 이것을 두드려보고 실제로 멘션을 할 수 있다는 것을 알게되면 다음으로 가자.

인스턴스 설정



자, 이제 한 걸음입니다.
GCE의 인스턴스 설정을 편집하고 싶습니다. 인스턴스 이름을 누르면 아래 이미지와 같이 인스턴스를 편집하는 버튼이 표시됩니다.
이 기사

그런 다음 カスタムメタデータ이라는 항목이 있으므로 項目を追加을 눌러 키에 shutdown-script을 넣습니다.tmp.sh의 내용을 정확하게 복사합니다.
이것으로 완료되었습니다! 덧붙여서 shutdown-script의 부분을 startup-script으로 설정하면 기동 한 타이밍에 통지 할 수 있습니다.
이런 느낌입니다.


요약


  • 우선 webhook url을 얻자
  • 쉘 스크립트에서 서자
  • GCE 사용자 지정 메타데이터 키에 shutdown-script을 넣으세요
  • GCE 사용자 지정 메타데이터 값에 쉘 스크립트 내용을 미리 붙여넣으세요
  • 좋은 웹페이지 즐겨찾기