프로그램 (PHP,Python)

개발과 운영 효율적인 통합 DevOps 환경 원격 K8s 클러스터 구축 운영

날으는물고기 2024. 7. 12. 00:06

Visual Studio Code Remote Development

Visual Studio Code에서 SSH 키를 이용한 원격 접속을 설정하려면 몇 가지 단계를 따라야 합니다. 여기에 Visual Studio Code를 이용하여 SSH 키 방식으로 원격 서버에 접근하는 방법을 설명드리겠습니다.

  1. SSH 키 생성하기
    • SSH 키를 생성해야 합니다. 이는 로컬 컴퓨터에서 다음과 같은 명령어를 통해 수행할 수 있습니다. 터미널을 열고 다음 명령어를 입력하세요.
      ssh-keygen -t rsa -b 4096
    • 이 명령은 ~/.ssh 디렉토리에 비공개 키(id_rsa)와 공개 키(id_rsa.pub)를 생성합니다. 공개 키를 원격 서버에 등록해야 합니다.
  2. 공개 키를 원격 서버에 등록하기
    • 원격 서버의 ~/.ssh/authorized_keys 파일에 로컬 컴퓨터의 공개 키(id_rsa.pub) 내용을 추가해야 합니다. 만약 직접 서버에 접근할 수 있다면, 공개 키 내용을 복사하여 authorized_keys 파일에 붙여넣기 하면 됩니다.
    • 원격 서버에 접근할 수 없다면, 다음 명령어를 사용하여 공개 키를 원격 서버에 복사할 수 있습니다.
      ssh-copy-id -i ~/.ssh/id_rsa.pub 사용자명@서버주소
  3. Visual Studio Code 설정
    • Visual Studio Code에서 SSH 연결을 관리할 수 있는 Remote - SSH 확장 프로그램을 설치하세요.
    • 설치 후, Visual Studio Code의 왼쪽 하단에서 "Remote Explorer" 아이콘을 클릭하고, "SSH Targets" 섹션을 선택하세요.
    • "Add New SSH Host"를 클릭하고, 다음과 같은 SSH 연결 명령어를 입력하세요.
      ssh 사용자명@서버주소
    • 입력 후, 연결하고자 하는 서버를 선택하고, 해당 서버에 접속할 때 사용할 SSH 키의 경로를 지정하세요.
  4. 서버에 접속하기
    • 설정된 서버를 클릭하여 연결을 시작합니다. Visual Studio Code는 설정된 키를 사용하여 SSH 연결을 시도하며, 연결이 성공적으로 수립되면 원격 서버의 파일을 직접 편집할 수 있습니다.

이렇게 하면 Visual Studio Code를 사용하여 SSH 키 방식으로 원격 서버에 안전하게 접속할 수 있습니다. 설정 과정 중 문제가 발생하면, SSH 키의 권한 설정이나 서버 설정을 다시 확인해 보세요.

 

Visual Studio Code를 이용하여 SSH 기반으로 원격 시스템에 접속하고, 해당 환경에서 Kubernetes(k8s)를 관리하는 전체적인 과정을 구성하고 활용하는 방법을 아래에 설명드리겠습니다.

1. 준비 단계

필요한 도구 설치

  • Visual Studio Code 설치: Visual Studio Code 공식 웹사이트에서 VS Code를 다운로드하고 설치하세요.
  • Remote - SSH 확장 프로그램 설치: VS Code에서 "Extensions" (확장 기능) 탭을 열고 "Remote - SSH"를 검색하여 설치합니다.
  • Kubernetes 확장 프로그램 설치: 동일한 방법으로 "Kubernetes" 확장을 검색하고 설치합니다.

SSH 키 준비

  1. SSH 키를 생성하고 원격 서버에 등록합니다.
    ssh-keygen -t rsa -b 4096
    ssh-copy-id 사용자명@서버주소
    • ssh-keygen 명령으로 SSH 키를 생성합니다.
    • ssh-copy-id 명령으로 생성된 공개 키를 원격 서버에 복사합니다.

2. VS Code에서 원격 서버에 연결

SSH 설정 파일 구성

  1. ~/.ssh/config 파일을 열고 원격 서버에 대한 설정을 추가합니다,
    Host my-remote-server
        HostName 서버주소
        User 사용자명
        IdentityFile ~/.ssh/id_rsa

VS Code에서 원격 서버에 연결

  1. VS Code에서 Remote Explorer를 열고, SSH Targets 아래에서 Add New SSH Host를 선택합니다.
  2. ssh 사용자명@서버주소 형식으로 입력하고, SSH 구성 파일에 저장합니다.
  3. 원격 서버를 선택하여 연결을 시작합니다.

3. 원격 서버에서 Kubernetes 설정

kubectl 설치 및 설정

  1. 원격 서버에 kubectl을 설치합니다.
    curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
    chmod +x ./kubectl
    sudo mv ./kubectl /usr/local/bin/kubectl
  2. kubectl이 Kubernetes 클러스터에 접근할 수 있도록 kubeconfig 파일을 설정합니다.
    • kubeconfig 파일을 원격 서버의 ~/.kube/config 경로에 복사합니다.

Kubernetes 확장 프로그램 사용

  1. VS Code에서 Kubernetes 확장 프로그램을 엽니다.
  2. Kubernetes 확장의 아이콘을 클릭하고, 클러스터 정보를 로드합니다.
  3. 클러스터, 노드, 포드 등의 상태를 시각적으로 탐색하고 원격 서버의 Kubernetes 클러스터를 관리할 수 있습니다.

터미널을 통해 kubectl 사용

  1. VS Code의 터미널에서 kubectl 명령어를 사용하여 Kubernetes 리소스를 관리할 수 있습니다.
    kubectl get pods
    kubectl get services
    kubectl apply -f my-deployment.yaml
  2. 필요에 따라 YAML 파일을 편집하고, kubectl apply 명령어로 변경 사항을 적용합니다.

4. 고급 활용

DevOps 통합

  • CI/CD 파이프라인을 설정하여 코드 변경 사항이 자동으로 Kubernetes 클러스터에 배포되도록 합니다.
  • GitHub Actions, Jenkins, GitLab CI 등과 같은 도구를 사용하여 자동 배포 파이프라인을 구성합니다.

모니터링 및 로깅

  • Prometheus, Grafana, ELK 스택 등의 모니터링 및 로깅 도구를 설정하여 클러스터 상태를 실시간으로 모니터링합니다.
  • 이러한 도구들을 Kubernetes 클러스터에 배포하여 포드, 서비스, 노드 등의 상태를 시각적으로 확인합니다.

 

이와 같은 방식으로 VS Code를 통해 원격 시스템에 SSH 기반으로 접근하고, Kubernetes 클러스터를 효과적으로 관리할 수 있습니다. 이를 통해 개발과 운영을 통합하여 효율적인 DevOps 환경을 구축할 수 있습니다.

728x90