Kubernetes 5

CustomResource Version Converting 과정 분석

k8s가 계속 새로운 버전이 릴리즈 되면서 리소스 버전도 계속 업데이트가 된다. alpha -> beta -> stable 순으로 업데이트가 되며, alpha일때는 default false이고 beta부터 default true로 해당 리소스를 사용할수 있다. 이러한 버전이 변화되면서 필요한 버전 Convert에 관해 얘기해보고자 한다. 사실, 한우형님이 정말 친절하게 내부 구조에 대해서 친절히 설명한 자료가 있다. https://www.youtube.com/watch?v=sfv7YpxgK20 출처: [KCD KOREA 2021] 쿠버네티스 인터널스: 코드 레벨에서 보는 쿠버네티스 이야기 | 한우형 필자는 추가적으로 CRD의 버전 컨버팅 과정이 궁금하여 controller-runtime(kubebuild..

Kubernetes 2021.09.15

CKA 후기

사실 요즘에 기출문제들이 대부분 공개되었고, 후기들도 많아서 굳이 도움이 될만한 정보는 따로 없을 듯 싶다. 그냥 필자가 CKA를 준비하면서 느낀 점. 다소 힘들었던 점을 위주로 정리한다. udemy 최근 udemy cka과정의 모의 테스트가 새롭게 바뀌었다. 아직 베타 단계라서 모든 테스트가 신규 환경은 아니지만, 신규환경은 훨씬 빨라지고, UI가 실제 시험과 비슷하다. 다만 실제 시험에서는 키워드 복사(예를 들면, 앱 이름 이라든지 autocompletion으로 되지 않는 내용상 키워드)가 된다. 그리고 udemy는 문제를 요약해주기도 하는데 실제 시험은 그런거 없다. udemy 테스트를 너무 많이 풀어도 너무 udemy 스타일에 익숙해 지기 때문에 좀 더 상황이 다른 실제환경에서는 애를 좀 먹을 수..

Kubernetes 2021.03.27

nginx reload와 keep-alive (부제: zero-downtime은 사기일까?)

* 분석내용이 틀릴 수도 있습니다. 지적해주시면 감사하겠습니다. 해당 이슈를 얘기하기 전에 Ingress 리소스정보 변경에 따른 Ingress-nginx controller 의 config reload flow를 먼저 설명한다. 예를 들어, Ingress의 host를 변경한다고 가정하자. 변경이 되면 Ingress 리소스를 watch하는 Ingress-nginx controller(nginx가 아니다!)에서 Ingress를 읽어 nginx.conf를 새로 만든다. 그리고나서 nginx -s reload 명령을 날리게 된다. 이 때, nginx 에서는 어떤 방식으로 config을 반영할까? 구글링으로 reload 시 내부적으로 일어나는 구체적인 flow를 찾을 수 있었다. serverfault.com/qu..

Kubernetes 2021.01.16

Git Flow 와 CI/CD

kubernetes기반으로 작동하는 모니터링 서비스 개발과 배포를 최대한 자동화 하기 위해서 Git Flow와 CI/CD를 도입해보았다. Git Flow를 이해하기 위해 다음의 아티클을 참고하였다. http://dogfeet.github.io/articles/2011/a-successful-git-branching-model.html https://woowabros.github.io/experience/2017/10/30/baemin-mobile-git-branch-strategy.html CI/CD인 경우는 circleci 와 helm 을 이용하였다. 대상 git repo에는 소스코드와 helm chart가 모두 있다. 그래서 실제 빌드에서부터 Chart배포까지 모두 한 곳에서 이루어진다. (원래는 분..

Kubernetes 2020.03.19

Shared Informer

사실 Shared Informer에 대한 자료는 구글링을 하면 널리고 널렸다. 다만 필자는 이것을 이해하기전, Shared라는 키워드에 대한 썰을 풀어보고자 한다(필자와 같은 사람이 있을 수도 있겠다는 가정아래) https://medium.com/@muhammet.arslan/write-your-own-kubernetes-controller-with-informers-9920e8ab6f84 Write your own kubernetes controller with informers In applications of robotics and automation, a control loop is a non-terminating loop that regulates the state of the system. I..

Kubernetes 2019.12.11