4.3.3 텍스트 에디터 선택 및 설치

이제 kubectl로 쿠버네티스와 대화하고, Git으로 변경 사항을 추적할 준비를 마쳤습니다. 마지막으로 필요한 도구는 바로 우리가 작성할 코드와 설정 파일들을 직접 만들고 수정할 때 사용할 ‘텍스트 에디터’입니다. 클라우드 네이티브 환경, 특히 쿠버네티스를 다룰 때는 YAML(야믈이라고 읽습니다)이라는 형식의 파일을 아주 빈번하게 사용하게 됩니다. 이 YAML 파일은 애플리케이션을 어떻게 배포할지, 어떤 네트워크 설정을 사용할지, 저장 공간은 어떻게 연결할지 등 쿠버네티스에게 우리가 원하는 상태를 알려주는 명세서와 같습니다.

물론 운영체제에 기본적으로 포함된 메모장(Windows)이나 TextEdit(macOS), 혹은 터미널에서 바로 사용할 수 있는 간단한 편집기(nano, vi 등)만으로도 YAML 파일을 작성하고 수정하는 것 자체는 가능합니다. 그래서 이 섹션의 제목에 ‘(선택 사항)’이라고 명시되어 있습니다. 특정 에디터가 없으면 쿠버네티스를 사용할 수 없는 것은 절대 아닙니다.

하지만 클라우드 네이티브 개발과 운영의 효율성을 높이고, 실수를 줄이기 위해서는 조금 더 전문적인 기능을 갖춘 텍스트 에디터를 사용하는 것이 매우 강력하게 권장됩니다. 마치 요리할 때 좋은 칼이 재료 손질을 더 쉽고 정확하게 만들어주듯이, 좋은 텍스트 에디터는 YAML 파일의 복잡한 구조를 한눈에 파악하게 해주고, 문법 오류를 미리 잡아주며, 반복적인 작업을 자동화하는 데 큰 도움을 줄 수 있습니다. 특히 YAML은 들여쓰기(indentation)가 문법적으로 매우 중요하기 때문에, 이를 시각적으로 잘 표현해주고 자동으로 관리해주는 기능은 생산성에 큰 차이를 만듭니다. 지금부터는 다양한 텍스트 에디터의 종류와 특징을 살펴보고, 여러분의 개발 스타일에 맞는 에디터를 선택하고 설치하는 데 도움을 드리고자 합니다.

4.3.3.1 Vim, Nano, VS Code 등: 다양한 선택지 살펴보기

세상에는 정말 다양한 종류의 텍스트 에디터가 존재하며, 각기 다른 철학과 특징, 장단점을 가지고 있습니다. 어떤 에디터가 ‘최고’라고 단정하기는 어렵습니다. 가장 좋은 에디터는 바로 여러분의 손에 가장 잘 맞고, 여러분의 작업을 가장 효율적으로 만들어주는 에디터입니다. 여기서는 대표적인 몇 가지 유형의 에디터를 소개하며 여러분의 선택을 돕고자 합니다.

  • Nano: 아마 리눅스나 macOS 터미널 환경을 처음 접하는 분들에게 가장 친숙하고 사용하기 쉬운 에디터 중 하나일 것입니다. nano는 화면 하단에 기본적인 명령어(저장: ^O, 나가기: ^X 등. 여기서 ^는 Ctrl 키를 의미합니다)가 항상 표시되어 있어 별도의 학습 없이도 직관적으로 파일을 열고, 수정하고, 저장하는 기본 작업을 수행할 수 있습니다. 복잡한 기능은 부족하지만, 서버 환경에서 간단한 설정 파일을 빠르게 수정해야 할 때 매우 유용합니다. 대부분의 리눅스 배포판과 macOS에 기본적으로 설치되어 있거나 쉽게 설치할 수 있습니다 (sudo apt install nano 또는 brew install nano).
  • Vim (Vi Improved): Vim은 vi 에디터의 개선된 버전으로, 터미널 환경에서 작동하는 매우 강력하고 효율적인 텍스트 에디터입니다. Vim의 가장 큰 특징은 ‘모드(mode)’ 개념입니다. 일반 모드(Normal mode)에서는 키보드 입력이 텍스트 입력이 아닌 명령어(커서 이동, 복사, 붙여넣기, 삭제 등)로 작동하고, 입력 모드(Insert mode)로 전환해야 실제 텍스트를 입력할 수 있습니다. 이 모드 개념 때문에 처음 배우는 데는 다소 시간과 노력이 필요하며, 초보자에게는 진입 장벽이 높게 느껴질 수 있습니다. 하지만 일단 익숙해지면 마우스 없이 키보드만으로 거의 모든 작업을 매우 빠르게 처리할 수 있다는 강력한 장점이 있습니다. 거의 모든 유닉스 계열 시스템에 기본적으로 설치되어 있으며, 수많은 플러그인을 통해 기능을 확장할 수 있어 숙련된 개발자 및 시스템 관리자들에게 오랫동안 사랑받고 있습니다. YAML 파일 작성을 위한 문법 강조나 자동 완성 플러그인도 다양하게 존재합니다.
  • Visual Studio Code (VS Code): 최근 몇 년간 개발자 커뮤니티에서 가장 폭발적인 인기를 얻고 있는 무료 텍스트 에디터입니다. 마이크로소프트에서 개발했으며, Windows, macOS, Linux를 모두 지원하는 크로스 플랫폼 에디터입니다. VS Code의 가장 큰 장점은 강력한 기능과 뛰어난 확장성입니다.
    • 지능적인 코드 완성 (IntelliSense): YAML 파일 작성 시 쿠버네티스 리소스 종류, 필드 이름 등을 자동으로 제안해주어 오타를 줄이고 생산성을 높여줍니다.
    • 풍부한 확장 기능(Extensions): 마켓플레이스를 통해 수많은 확장 기능을 설치할 수 있습니다. 특히 Kubernetes, YAML, Docker 관련 확장 기능들은 쿠버네티스 매니페스트 파일 작성, 미리보기, 클러스터 연결 및 관리 등을 에디터 내에서 직접 수행할 수 있게 해줍니다. 예를 들어, YAML 확장 기능은 실시간으로 문법 오류나 잘못된 들여쓰기를 검사해주고, Kubernetes 확장 기능은 클러스터의 리소스를 탐색하거나 로그를 확인하는 기능까지 제공합니다.
    • 내장 터미널: 에디터 내에서 바로 터미널 창을 열어 kubectl 명령어나 git 명령어를 실행할 수 있어 작업 흐름이 끊기지 않습니다.
    • Git 통합: 기본적인 Git 명령어를 GUI 환경에서 편리하게 사용할 수 있도록 내장되어 있습니다.VS Code는 초보자도 비교적 쉽게 시작할 수 있으면서도 전문가 수준의 고급 기능까지 제공하여, 클라우드 네이티브 개발을 위한 매우 훌륭한 선택지라고 할 수 있습니다. https://code.visualstudio.com/에서 운영체제에 맞는 버전을 다운로드하여 쉽게 설치할 수 있습니다.
  • 그 외 에디터들: 위에서 소개한 에디터 외에도 좋은 선택지는 많습니다.
    • Sublime Text: 가볍고 빠르며 강력한 기능을 제공하는 상용 에디터입니다. VS Code와 유사하게 다양한 플러그인을 통해 기능을 확장할 수 있습니다.
    • Atom: GitHub에서 만든 오픈소스 에디터로, VS Code와 마찬가지로 Electron 기반이며 확장성이 뛰어납니다.
    • JetBrains IDEs (IntelliJ IDEA, GoLand, PyCharm 등): 특정 언어 개발에 특화된 강력한 통합 개발 환경(IDE)이지만, 대부분 훌륭한 YAML 및 Kubernetes 지원 기능을 플러그인 형태로 제공합니다. 이미 사용 중인 JetBrains IDE가 있다면 해당 IDE의 Kubernetes 플러그인을 활용하는 것도 좋은 방법입니다.

어떤 에디터를 선택해야 할까요? 만약 어떤 에디터를 사용해야 할지 잘 모르겠다면, Visual Studio Code (VS Code) 로 시작해보시는 것을 추천합니다. 사용하기 쉬우면서도 강력한 기능을 제공하고, 특히 Kubernetes와 YAML 지원이 매우 훌륭하여 이 책의 실습을 따라가는 데 큰 도움이 될 것입니다. 물론 이미 손에 익은 다른 에디터가 있다면 그것을 그대로 사용하셔도 전혀 문제없습니다. 중요한 것은 여러분이 가장 편안하고 효율적으로 작업할 수 있는 환경을 선택하는 것입니다.

에디터 선택 가이드
사용 목적 추천 에디터
빠른 설정 파일 수정 Nano
고급 텍스트 조작 및 자동화 Vim
GUI 환경에서의 편리한 편집 VS Code

각 에디터의 설치 방법은 해당 에디터의 공식 웹사이트에 가장 잘 설명되어 있습니다. 대부분의 현대적인 에디터들은 간단한 설치 프로그램이나 패키지 관리자 명령어를 통해 쉽게 설치할 수 있습니다. 마음에 드는 에디터를 선택하여 설치하고, YAML 파일이나 간단한 텍스트 파일을 열어 기본적인 사용법에 익숙해지는 시간을 가져보시길 바랍니다. 이제 개발 도구 준비는 모두 끝났습니다! 다음 장부터는 본격적으로 컨테이너 기술의 기초를 다지고 쿠버네티스의 세계로 더 깊이 들어가 보겠습니다.