아홉 번의 쿠버네티스 이벤트와 일곱 년 동안 자체 개발의 일환으로 쿠버네티스 프로젝트와 함께 일한 후, 우리는 개발자 커뮤니티와 대화하는 데 많은 시간을 보냈습니다. 우리가 참석하는 모든 행사에서 우리는 다양한 채택 단계를보고 복잡성과 생존 가능성에 대한 질문을 얻습니다. 다음은 쿠버네티스 최고의 질문과 답변입니다.
Waters 테스트: 애플리케이션에 Kubernetes를 사용해야 하나요?
Linode의 주요 솔루션 엔지니어 인 Billy Thompson은 유럽에서 가장 최근의 KubeCon에 참석했습니다. 쿠버네티스를 실험하기 시작한 개발자들로부터 그가 들은 내용은 다음과 같다.
"많은 사람들이 여전히 쿠버네티스를 탐색하고 다른 개발자들과 이야기하면서 플랫폼에 대해 더 많이 배우고 있었습니다. 많은 경우에, 그들은 가능한 한 많은 것을 배우고 그 정보를 팀에 다시 가져 오기 위해 거기에있었습니다. 우리는 이러한 '사실 발견'임무를 호출하여 Kubernetes가 가까운 장래에 프로젝트를 수행 할 수 있는지 여부를 결정하는 데 도움이 될 수 있습니다. "
이것은 완전히 놀라운 것은 아니었고 K8은 여전히 비교적 새로운 기술이라는 것을 기억하는 것이 중요합니다. 자동화된 확장 및 이식성과 같은 주요 이점에도 불구하고 주요 인프라 및 애플리케이션 변경은 비용이 많이 들고 시간이 많이 걸립니다. 레거시 배포가 제대로 작동하고 있다면 새로운 플랫폼을 채택하는 것은 정당화하기가 어렵습니다. 그럼에도 불구하고 현재 상태에서 환경을 확장하는 것이 필연적으로 어색하거나 비실용적이거나 불가능해질 때 미래 보장에 대해 항상 생각해야합니다.
설계 및 리팩토링: 쿠버네티스 사용을 시작하려면 무엇이 필요합니까?
기존 응용 프로그램을 리팩터링할 준비를 하든 처음부터 시작하든 관계없이 시작하는 데 필요한 사항에 대해 이야기해 보겠습니다. 저는 Linode Kubernetes Engine (LKE)에 전념하는 엔지니어 중 한 명인 Todd Becker에게 컨테이너화 된 워크로드에 처음으로 접근하는 사람에게 조언이 무엇인지 물었습니다. 모놀리식 애플리케이션을 리팩터링하여 쿠버네티스 또는 다른 클라우드 네이티브 도구를 진정으로 활용하는 것이 얼마나 위협적인지 이야기하고 싶었습니다.
"쿠버네티스의 아름다움을 최대한 활용하려면 많은 애플리케이션을 조정해야 합니다. 그러나 대부분의 응용 프로그램은 많은 리팩토링 없이 Kubernetes에서 실행될 수 있으며 여전히 상당한 이점을 볼 수 있습니다."
따라서 이상적이지만 Kubernetes 및 컨테이너 사용을 시작하기 위해 전체 마이크로 서비스 아키텍처를 설정할 필요는 없습니다 . 모놀리식 응용 프로그램을 통해 이식성, 확장성 및 환경 일관성을 계속 활용할 수 있습니다. 그러나 이것들은 일반화입니다. 각 응용 프로그램에는 고유한 요구 사항이 있지만 레거시 응용 프로그램이 컨테이너화에서 반드시 제외되는 것은 아니라는 점을 이해하는 것이 중요합니다.
준비 완료 Go: 시작하는 데 도움이되는 좋은 도구는 무엇입니까?
Kubernetes를 위해 기본적으로 개발을 시작할 준비가 되었다면 도구 및 방법론을 통해 환경을 간소화할 수 있습니다. CI/CD(Continuous Integration and Continuous Delivery) 프로세스는 개발에서 프로덕션까지 시간을 단축하고 있습니다.
토드는 2019년 구글이 개발한 '쿠버네티스 개발자의 가장 친한 친구'인 스카폴드를 적극 추천한다. 토드가 말하는 것은 다음과 같습니다.
"Skaffold는 쿠버네티스에서 개발하기 위한 훌륭한 도구입니다. 이를 통해 개발자는 컴퓨터에 로컬로 있는 대신 Kubernetes 클러스터에서 개발 환경을 호스팅할 수 있습니다. 랩톱이나 워크스테이션에서 귀중한 컴퓨팅 리소스를 확보하는 것 외에도 많은 작업 이점을 제공합니다. Skaffold는 전체 환경을 라이브 Kubernetes 클러스터에 배포하여 컨테이너를 작성하는 것보다 개발 및 프로덕션 환경을 훨씬 더 가깝게 미러링하며, 개발 작업 공간을 다른 엔지니어와 공유하여 더 빠르게 공동 작업을 시작할 수 있습니다. 이를 통해 개발자와 운영 업체 간의 격차를 해소하여 모든 사람들이 쿠버네티스에 익숙해질 수 있습니다."
토드가 스카폴드를 묘사하는 방식은 쿠버네티스 개발에 거의 필수적인 것처럼 보이지만, 심지어 세 살도 되지 않았다. 신흥 기술의 엄청난 이점은 채택의 돌파구로 이어질 수 있지만, 이것은 사이클의 또 다른 중요한 측면입니다. 플랫폼이 조금씩 성숙함에 따라 매일 더 많은 사용자가 더 많은 사람들이 일을 더 쉽게 만들기 위해 더 많은 사람들을 제공합니다. 이것은 특히 더 넓은 커뮤니티의 기여를 허용하는 오픈 소스 기술의 경우 눈덩이 효과가 될 수 있습니다.
애로포인트 및 제공자: 내 경험을 어떻게 향상시킬 수 있습니까?
물론 모든 사람이 쿠버네티스의 초기 또는 테스트 단계에 있는 것은 아니다. 상당수의 프로젝트가 이미 쿠버네티스를 프로덕션에서 사용하고 있기 때문에 빌리 톰슨으로 돌아가서 개발자들이 무슨 말을 하고 있는지 살펴보았다.
"속도. 사람들은 클러스터를 빠르게 회전시키고 싶어하며 많은 공급자가 현재 이러한 기대치를 충족시키지 못하고 있습니다. 대부분의 경우 임시 저장소가있는 작은 클러스터조차도 20 분 이상 걸릴 수 있습니다. 이것은 특히 교사나 라이브 데모를하는 모든 사람들에게 고통스럽게 길어질 수 있습니다. "
LKE는 어떻습니까?
"클러스터가 LKE에서 가동되고 있습니다. Terraform 2-3 분 안에."
관리 도구와 호환성은 또 다른 큰 주제입니다. 쿠버네티스는 매우 위협적일 수 있지만 친절하고 직관적인 타사 UI가 있습니다.
"이는 매우 일반적인 질문이었습니다. 사람들은 다음과 같은 클라우드에 구애받지 않는 도구를 사용하고 있으며 Rancher 와 같은 도구를 사용하고 있으며 다양한 제공업체를 사용할 수 있는 기능을 원합니다. 이러한 도구는 LKE와 호환되며 다음을 통해 배포할 수 있습니다. Linode API 또는 Terraform 을 통해 배포할 수 있습니다."
이것은 새로운 기술의 또 다른 성숙 단계이며 사용자 친화적입니다. 쿠버네티스는 2020년 4월 웹 UI에 kubectl 기능을 제공하기 위해 자체 대시보드를 출시 했지만, 타사 솔루션은 조금 더 오래 사용되어 왔다. Kontena Lens는 2019 년에 GA에 진출했으며 Rancher 2016년까지 1.0을 기록했다(쿠버네티스 1.0 이후 약 1년). 이러한 도구는 사용 가능하고 점점 더 접근하기 쉽습니다. LKE는 기본적으로 쿠버네티스 대시보드를 설치하며, 리노드 클라우드 매니저의 각 클러스터에 대해 있는 쿠버네티스 대시보드 링크를 통해 액세스할 수 있습니다.
향후 계획은 무엇입니까?
우리는 전환점에 접근하고 있습니다. 쿠버네티스의 이점은 새로운 기술을 채택하는 초기 과제를 극복하고 있으며 우리는 자립 주기에 접어들고 있습니다: K8을 사용하는 개발자가 많을수록 K8s 프로젝트의 양이 증가하여 프로젝트가 성장함에 따라 K8s 개발자의 수요가 증가합니다. 이는 새로운 도구를 출시하고 조정함으로써 더 많은 쿠버네티스 지원에 대한 수요 증가에 대응하는 서비스 제공 업체에게까지 확대됩니다.
오늘날 Kubernetes를 애플리케이션용 프로덕션에서 실행하는 것은 실용적이고 접근하기 쉽습니다. 되돌릴 수 없으며, 더 많은 개발자가 시작할 수 있도록 돕게 되어 기쁩니다.
쿠버네티스를 사용하고 있으며 LKE에서 보고 싶은 것을 염두에 두고 있습니까? 저희에게 알려주세요.
댓글 (1)
Kubernetes brings convenience and improves efficiency, but it also increases the cost of use