주기적으로 실행되는 앱은 CronJob으로

만일 job을 일정 주기 혹은 특정 시간에 실행시키려면 CronJob resource를 만들어 사용하면 된다. Job과 CronJob간의 관계는? CronJob에 대한 설명에 따르면 CronJob정의에 기술한 특정 시간이 되면 CronJob이 Job을 실행한다고. 그리고 그 Job이 Pod를 실행한다. 그럼 Job을 위한 resource 정의와 CronJob을 위한 resource 정의를 각각 정의해야 하나? 그렇지는 않은 듯. CronJob의 정의 파일을 보면 JobTemplate 항목이 Job에서 볼 수 있는 Template과 유사한 container spec 등을 가지고 있다. 물론 CronJob 에서만 유효한 schedule spec 등을 추가로 가지고 있긴 하지만.

일회성 앱은 Deployment가 아닌 Job으로

한 번 실행되면 데몬 처럼 계속해서 동작하는 앱이 아니라 필요한 일을 수행하고 종료되는 앱도 있다. 실행된 시점에 필요한 일을 수행하고 종료하는 형태로 예를 들면 특정 위치에 있는 파일을 처리하고 종료한다거나, 실행된 시점에 외부 서비스에서 필요한 정보를 가져와 어딘가 저장하는 등의 일을 하는. 이런 종류의 앱을 kubernetes에서 Deployment로 배포한 경우 해당 앱은 자신이 해야 할 일을 정상적으로 수행하고 종료되지만, kubernetes scheduler 입장에서는 해당 container가 (의도하지 않게) 종료된 것으로 판단하여 다시 복구하는 절차를 수행한다.

Install Influxdb and Grafana With Helm

Install InfluxDB with helm GitHub - influxdata/helm-charts: Official Helm Chart Repository for InfluxData Applications 가 helm chart를 이용한 설치법을 제공하는 공식 페이지. helm repo add influxdata https://helm.influxdata.com/ $ helm repo list WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /home/cychong/.kube/config WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /home/cychong/.kube/config NAME URL myhelmrepo https://cychong47.github.io/helm-chart/ infracloudio https://infracloudio.github.io/charts influxdata https://helm.influxdata.com/ $ helm search repo influxdata NAME CHART VERSION APP VERSION DESCRIPTION influxdata/chronograf 1.

Dust for Github Arctic Program

GitHub Archive Program It is a hidden cornerstone of modern civilization, and the shared heritage of all humanity. The mission of the GitHub Archive Program is to preserve open source software for future generations. GitHub Archive Program은 현재 전세계의 거의 모든 분야의 발전에 많은 기여한 OSS의 snapshot을 떠서 보존하는 프로그램이다. 마치 지구의 재난 후에도 인류가 멸종되는 것을 막기 위해 현재 인류가 섭취하는 곡물류의 씨앗을 냉동 보관하는 것과 유사한 것이다. 인류 최후의 보물창고, 종자 보관소!

Ipad-lost-celluar-suddenly

갑자기 iPad가 carrier를 잡지 못하는… 이때 해결책은 예상대로 U-SIM을 뺐다 다시 끼운다. 흔하지는 않아도 종종 있는 현상이라고. 한번도 핸드폰에서 경험한 적이 없었는데 왜 iPad에서 끼운 지 2달 밖에 안된 U-SIM이 그런 걸까?

Apple gift card 10% 할인 구입

신한카드와 아마존 이벤트로 100불 이상 구매 시 10% 할인. 어차피 iCloud 월간 구독 비용도 내야 하고, 앱도 살 일이 생길 테니.

블로그에 몇 몇 사진이 안 보이는 문제 해결

혹시나 했더니 사진 파일 형식이 JPEG이 아니라 HEIC(High Efficiency Image File) 였다는. 아이패드에서는 사진을 찍지 않고, 아이폰으로만 사진을 찍고 있는데, 사진을 Mac으로 옮길 때 사용하는 PhotoSync에서는 파일 변환 기능을 켜서 자동으로 JPG로 변환하고 있으니 거기서 올린 사진은 아닌 듯 하고, iPad에서 iOS shortcut을 이용해서 git repo에 직접 사진을 업로드하는데, 이때 올린 사진이 iPhone에서 HEIC로 저장하고, iCloud를 통해 iPad로 동히과된 사진이었다. iOS Shortcut에서는 사진의 크기를 resize만 해서 올리고 있어서 그랬다는. 사진을 그냥 Mac에서 열었을 때는 전혀 문제 없이 열리고, 같은 MD 파일에 정상적으로 표시되는 다른 JPG 파일을 포함시켜도 잘 출력이 되서 찾기가 힘들었는데 화면에 표시가 잘 되는 사진과 잘 되지 않는 것 사이에 무슨 차이가 있나 하고 확인한 exiftool에서 단서를 찾은 것이다.

Helmize Slackbot

docker로 실행할 대는 환경 변수 파일에 필요한 token정보 등을 적어서 넘겼는데 docker run -d -p 3010:3010 --env-file=slackbot.env my-slackbot helm으로 할 때는 configmap을 사용하거나, value의 env를 사용하거나 등등. $ helm repo update Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "infracloudio" chart repository ...Successfully got an update from the "myhelmrepo" chart repository Update Complete. ⎈Happy Helming!⎈ $ helm search repo slackbot NAME CHART VERSION APP VERSION DESCRIPTION myhelmrepo/slackbot 0.

Remove docker images referenced in multiple repos

docker image를 GHCR(GitHub Container Registry)에 업로드한 다음 같은 image ID를 갖는 여러 항목이 나타났다. 그동안 local machine에 있던 docker image를 GHCR에 업로드 했으니 더 이상 local host에 이미지가 없어도 되지 않을까 하는 생각에 원래 있던 image를 삭제하려고 하는데 이 경우 에러가 발생한다. cychong@mini1:~/work/slackbot$ docker images |grep slackbot my-slackbot latest 16cdaacd672e 5 days ago 133MB ghcr.io/cychong47/my-slackbot 0.1 16cdaacd672e 5 days ago 133MB ghcr.io/cychong47/slackbot 0.1 16cdaacd672e 5 days ago 133MB cychong@mini1:~/work/slackbot$ docker images |grep pocket pocket-retagger latest 942ef4cc7a60 2 days ago 285MB ghcr.