처음 접하는 분들에게 Kubernetes는 괴물이 될 수 있습니다. 우리는 많은 이점과 편리함을 경험하지만, 그 이면에서는 우리가 알지 못하는 많은 일이 일어나고 있습니다. 복잡성의 일부 계층을 벗겨내기 위해 저는 잘 알려진 리포지토리(켈시하이타워의 Kubernetes the Hard Way)를 포크하여 리노드별 접근 방식을 만들었습니다. 포크된 리포지토리는 여기에서 확인할 수 있습니다.
Kelsey의 튜토리얼을 한 번도 접해보지 않았다면 한 번 살펴볼 가치가 있습니다. 그는 업계에서 가장 잘 알려진 Kubernetes 전도사 중 한 명이며 이 프로젝트에 가장 먼저 기여한 사람 중 한 명입니다.
이전에 Kubernetes 클러스터를 배포한 적이 없다면 먼저 다음 단계를 수행하여 어려운 방법과 쉬운 방법의 차이점을 파악하는 것이 좋습니다:
- Kubernetes의 공식 시작 가이드를 확인하세요.
- 리노드 쿠버네티스 엔진을 테스트해 보세요.
이제 Kubernetes의 작동 원리를 본격적으로 살펴볼 준비가 되셨다면, 제가 Kubernetes에서 배운 가장 큰 교훈 몇 가지를 어려운 방법으로 안내해 드리겠습니다. 당연하게 여겼던 것들을 완전히 새로운 방식으로 이해하게 될 것입니다. 여러분이 직접 시도해보는 데 관심을 갖기에 충분하길 바랍니다!
레슨 1: 잘못할 수 있습니다.
하이타워의 작업에서 놀라운 점은 스크립트화된 Kubernetes 배포가 왜 그렇게 널리 사용되는지를 보여준다는 것입니다. 그는 이러한 배포 중 하나를 실행할 때 어떤 일이 일어나는지 정확하게 안내함으로써 이를 보여줍니다.
세 개의 제어 평면 노드에서 한 번에 명령을 실행하는 동안 간단한 오타가 발생하여 다시 돌아가서 모든 명령을 입력해야 할 수도 있습니다. 또한 실습이 끝날 무렵 해당 섹션의 연기 테스트가 완전히 실패한 것을 깨닫고 다시 시작해야 할 수도 있습니다. 우리는 실수를 할 때 가장 많이 배우는데, 그 때 돌아가서 정확히 무엇을 잘못했는지 파악할 수 있기 때문입니다. 사실 전체 튜토리얼에서 가장 유용한 부분 중 하나는 정리 섹션인데, 클러스터가 너무 망가져서 처음부터 다시 시작해야 하는 순간이 있을 수 있기 때문입니다.
앞서 쿠버네티스가 어렵다고 말씀드렸나요?
레슨 2: 쿠버네티스는 마법이 아닙니다.
관리형 쿠버네티스 클러스터에서만 작업해본 적이 있다면, 쿠버네티스가 그냥 자동으로 실행되는 마법 같은 시스템이라고 느낄 수 있습니다. 하지만 Kubernetes를 직접 사용해 보면 Kubernetes 내부에는 마법이 없다는 것을 알 수 있습니다. 단지 좋은 소프트웨어가 가장 잘하는 일, 즉 마법사처럼 보이게 하는 일을 하는 코드의 집합체일 뿐입니다.
리노드의 호스트 이름을 제대로 설정하는 데 어려움을 겪거나 Kubernetes의 네트워킹 모델에 무슨 일이 일어나고 있는지 파악하려고 할 때, 인프라에 뿌려서 어려운 모든 것을 사라지게 할 수 있는 마법의 컨테이너 먼지를 다루는 것이 아니라는 것이 매우 분명해집니다.
이 모든 과정이 끝나고 나면, 버튼을 눌러 프로덕션 코드를 세상에 내놓는 대신 모든 명령을 입력하여 Kubernetes 클러스터를 배포하고 나면, 마침내 Kubernetes용 푸시 버튼 솔루션이 왜 그렇게 좋은지 이해하게 될 것입니다. 또한 클러스터에 문제가 생겼을 때 플랫폼의 일부인 줄도 몰랐던 것들을 바로 수정할 수 있다는 의미이기도 합니다.
레슨 3: 문서 읽기
Hightower의 튜토리얼을 처음 실행했을 때 중간에 깨달은 것 중 하나는 문서 링크가 단지 재미로 제공되는 것이 아니라 필수적이라는 것이었습니다. 이 방대한 시스템을 설정하려면 Kubernetes 문서를 반드시 읽어야 합니다.
터미널에 모든 것을 간단히 입력하고 소규모 Kubernetes 클러스터를 실행하는 데 필요한 모든 리노드를 얻을 수는 있지만, 초인적인 타이핑 기술이 필요하고 그 과정에서 아무 문제가 발생하지 않도록 해야 합니다. 물론, 마지막에 가서 Kubernetes의 작동 원리에 대해 조금 더 많은 지식을 갖게 될 수도 있지만, 각 실습에서 드롭되는 링크에 주의를 기울인 것에는 미치지 못할 것입니다.
이 작은 교훈은 일부 독자에게는 당연한 것일 수도 있습니다. 그러나 어떤 분들은 실험 중 하나를 작동시키는 방법을 결정하지 못해 가이드의 정리 섹션으로 바로 이동하여 처음부터 다시 시작하실 수도 있습니다. 그 전에 주요 링크를 확인하세요. 그 과정에서 문서를 읽으면 훨씬 더 만족스러울 것입니다.
결론: 결론: 포기하지 마세요!
아직 이 글을 읽고 있는데도 겁을 먹지 않으셨다면 칭찬해드리고 싶습니다. 제가 드리는 마지막 조언이 필요하지 않으실 수도 있지만, 어쨌든 전해드리겠습니다: 포기하지 마세요. 아무리 어렵더라도 Kubernetes를 어렵게 설정하는 것이 불가능한 일은 아닙니다. 결국, 푸시 버튼 솔루션은 누구도 생각하지 않아도 항상 이 작업을 수행합니다. 컴퓨터가 수많은 지침을 따를 수 있다면 여러분도 그렇게 할 수 있습니다.
또한 직접 구축한 Kubernetes 클러스터에 배포한 웹사이트를 보는 느낌은 하루 종일 하이킹을 해야만 접근할 수 있는 산의 호수를 바라보는 것과 비슷합니다. 그렇게 하길 잘했다는 생각이 들 것입니다.
하이타워의 가이드는 매우 유용해서 리노드별 리소스를 위해 포크했습니다. 확실히 많은 것을 배웠지만 그보다 더 중요한 것은 정말 재미있게 작업했다는 점입니다! 기술자로서, 이것이 우리가 애초에 기술에 뛰어든 이유입니다: 저희는 어려운 문제를 해결하는 것을 좋아합니다.
내용