kubectl 설치 또는 업데이트 - Amazon EKS

kubectl 설치 또는 업데이트

Kubectl는 Kubernetes API 서버와 통신하기 위해 사용하는 명령줄 도구입니다. 이 kubectl 바이너리는 많은 운영 체제 패키지 관리자에서 사용할 수 있습니다. 설치에 패키지 관리자를 사용하는 것이 수동 다운로드 및 설치 프로세스보다 쉬운 경우가 많습니다.

이 주제는 장치에 kubectl 바이너리를 다운로드하고 설치하거나 업데이트하는 데 도움이 됩니다. 바이너리는 업스트림 커뮤니티 버전과 동일합니다. 바이너리가 Amazon EKS 또는 AWS에 고유하지 않은 경우.

참고

Amazon EKS 클러스터 제어 영역과 마이너 버전이 하나 다른 kubectl 버전을 사용해야 합니다. 예를 들어 1.22 kubectl 클라이언트는 Kubernetes 1.21, 1.22, 1.23 클러스터와 함께 작동합니다.

kubectl를 설치하거나 업데이트하려면 다음을 수행합니다.

  1. 디바이스에 이미 kubectl이 설치되어 있는지 확인합니다.

    kubectl version | grep Client | cut -d : -f 5

    디바이스의 경로에 kubectl이 설치되어 있는 경우 출력 예제는 다음과 같습니다. 현재 설치한 버전을 최신 버전으로 업데이트하려면 다음 단계를 완료하고 현재 버전이 있는 동일한 위치에 새 버전을 설치해야 합니다.

    "v1.22.6-eks-7d68063", GitCommit

    출력이 되지 않는다면 kubectl이 설치되지 않았거나 디바이스의 경로에 있는 위치에 설치되지 않은 것입니다.

  2. macOS, Linux, Windows 운영 체제에 kubectl을 설치하거나 업데이트하세요.

    macOS

    macOSkubectl을 설치하거나 업데이트하려면 다음을 수행합니다.

    1. Amazon S3에서 클러스터의 Kubernetes 버전에 대한 바이너리를 다운로드합니다.

      • Kubernetes 1.23

        curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.7/2022-06-29/bin/darwin/amd64/kubectl
      • Kubernetes 1.22

        curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.6/2022-03-09/bin/darwin/amd64/kubectl
      • Kubernetes 1.21

        curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.2/2021-07-05/bin/darwin/amd64/kubectl
      • Kubernetes 1.20

        curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.20.4/2021-04-12/bin/darwin/amd64/kubectl
      • Kubernetes 1.19

        curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.19.6/2021-01-05/bin/darwin/amd64/kubectl
    2. (선택 사항) 해당 바이너리의 SHA-256 합계를 사용하여 다운로드한 바이너리를 확인합니다.

      1. 클러스터의 Kubernetes 버전에 대한 SHA-256 합계를 다운로드합니다.

        • Kubernetes 1.23

          curl -o kubectl.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.7/2022-06-29/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.22

          curl -o kubectl.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.6/2022-03-09/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.21

          curl -o kubectl.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.2/2021-07-05/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.20

          curl -o kubectl.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.20.4/2021-04-12/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.19

          curl -o kubectl.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.19.6/2021-01-05/bin/darwin/amd64/kubectl.sha256
      2. 다운로드한 바이너리에 대해 SHA-256 합계를 확인합니다.

        openssl sha1 -sha256 kubectl
      3. 명령 출력에 생성된 SHA-256 합계를 다운로드한 SHA-256 파일과 비교합니다. 두 값이 일치해야 합니다.

    3. 바이너리에 실행 권한을 적용합니다.

      chmod +x ./kubectl
    4. 바이너리를 PATH의 폴더에 복사합니다. kubectl 버전이 이미 설치된 경우 $HOME/bin/kubectl을 생성하고 $HOME/bin$PATH로 시작하도록 해야 합니다.

      mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH
    5. (선택 사항) 셸 초기화 파일에 $HOME/bin 경로를 추가하면 셸을 열 때 구성됩니다.

      echo 'export PATH=$PATH:$HOME/bin' >> ~/.bash_profile
    6. kubectl을 설치한 이후 다음 명령을 사용하여 버전을 확인할 수 있습니다.

      kubectl version --short --client
    Linux

    Linux에 kubectl을 설치하거나 업데이트하려면 다음을 수행합니다.

    1. 디바이스의 하드웨어 플랫폼용 명령을 사용하여 Amazon S3에서 클러스터의 Kubernetes 버전에 대한 kubectl 바이너리를 다운로드합니다. 각 버전의 첫 번째 링크는 amd64, 두 번째 링크는 arm64을 위한 것입니다.

      • Kubernetes 1.23

        curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.7/2022-06-29/bin/linux/amd64/kubectl
        curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.7/2022-06-29/bin/linux/arm64/kubectl
      • Kubernetes 1.22

        curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.6/2022-03-09/bin/linux/amd64/kubectl
        curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.6/2022-03-09/bin/linux/arm64/kubectl
      • Kubernetes 1.21

        curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.2/2021-07-05/bin/linux/amd64/kubectl
        curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.2/2021-07-05/bin/linux/arm64/kubectl
      • Kubernetes 1.20

        curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.20.4/2021-04-12/bin/linux/amd64/kubectl
        curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.20.4/2021-04-12/bin/linux/arm64/kubectl
      • Kubernetes 1.19

        curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.19.6/2021-01-05/bin/linux/amd64/kubectl
        curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.19.6/2021-01-05/bin/linux/arm64/kubectl
    2. (선택 사항) 해당 바이너리의 SHA-256 합계를 사용하여 다운로드한 바이너리를 확인합니다.

      1. 디바이스의 하드웨어 플랫폼용 명령을 사용하여 Amazon S3에서 클러스터의 Kubernetes 버전에 대한 SHA-256 합계를 다운로드합니다. 각 버전의 첫 번째 링크는 amd64, 두 번째 링크는 arm64을 위한 것입니다.

        • Kubernetes 1.23

          curl -o kubectl.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.7/2022-06-29/bin/linux/amd64/kubectl.sha256
          curl -o kubectl.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.7/2022-06-29/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.22

          curl -o kubectl.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.6/2022-03-09/bin/linux/amd64/kubectl.sha256
          curl -o kubectl.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.6/2022-03-09/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.21

          curl -o kubectl.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.2/2021-07-05/bin/linux/amd64/kubectl.sha256
          curl -o kubectl.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.2/2021-07-05/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.20

          curl -o kubectl.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.20.4/2021-04-12/bin/linux/amd64/kubectl.sha256
          curl -o kubectl.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.20.4/2021-04-12/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.19

          curl -o kubectl.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.19.6/2021-01-05/bin/linux/amd64/kubectl.sha256
          curl -o kubectl.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.19.6/2021-01-05/bin/linux/arm64/kubectl.sha256
      2. 다운로드한 바이너리에 대해 SHA-256 합계를 확인합니다.

        openssl sha1 -sha256 kubectl
      3. 명령 출력에 생성된 SHA-256 합계를 다운로드한 SHA-256 파일과 비교합니다. 두 값이 일치해야 합니다.

    3. 바이너리에 실행 권한을 적용합니다.

      chmod +x ./kubectl
    4. 바이너리를 PATH의 폴더에 복사합니다. kubectl 버전이 이미 설치된 경우 $HOME/bin/kubectl을 생성하고 $HOME/bin$PATH로 시작하도록 해야 합니다.

      mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin
    5. (선택 사항) 셸 초기화 파일에 $HOME/bin 경로를 추가하면 셸을 열 때 구성됩니다.

      참고

      이 단계에는 Bash 셸을 사용한다고 가정합니다. 다른 셸을 사용하는 경우, 특정 셸 초기화 파일을 사용하도록 명령을 변경하십시오.

      echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc
    6. kubectl을 설치한 이후 다음 명령을 사용하여 버전을 확인할 수 있습니다.

      kubectl version --short --client
    Windows

    Windows에 kubectl을 설치하거나 업데이트하려면 다음을 수행합니다.

    1. PowerShell 터미널을 엽니다.

    2. Amazon S3에서 클러스터의 Kubernetes 버전에 대한 kubectl 바이너리를 다운로드합니다.

      • Kubernetes 1.23

        curl -o kubectl.exe https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.7/2022-06-29/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.22

        curl -o kubectl.exe https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.6/2022-03-09/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.21

        curl -o kubectl.exe https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.2/2021-07-05/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.20

        curl -o kubectl.exe https://s3.us-west-2.amazonaws.com/amazon-eks/1.20.4/2021-04-12/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.19

        curl -o kubectl.exe https://s3.us-west-2.amazonaws.com/amazon-eks/1.19.6/2021-01-05/bin/windows/amd64/kubectl.exe
    3. (선택 사항) 해당 바이너리의 SHA-256 합계를 사용하여 다운로드한 바이너리를 확인합니다.

      1. Windows용 클러스터의 Kubernetes 버전에 대한 SHA-256 합계를 다운로드합니다.

        • Kubernetes 1.23

          curl -o kubectl.exe.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.7/2022-06-29/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.22

          curl -o kubectl.exe.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.6/2022-03-09/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.21

          curl -o kubectl.exe.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.2/2021-07-05/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.20

          curl -o kubectl.exe.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.20.4/2021-04-12/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.19

          curl -o kubectl.exe.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.19.6/2021-01-05/bin/windows/amd64/kubectl.exe.sha256
      2. 다운로드한 바이너리에 대해 SHA-256 합계를 확인합니다.

        Get-FileHash kubectl.exe
      3. 명령 출력에 생성된 SHA-256 합계를 다운로드한 SHA-256 파일과 비교합니다. PowerShell 출력은 대문자이지만 이 두 가지는 일치해야 합니다.

    4. 바이너리를 PATH의 폴더에 복사합니다. PATH에 명령줄 유틸리티에 사용하는 기존 디렉터리가 있으면 해당 디렉터리로 바이너리를 복사하세요. 그렇지 않은 경우 다음 단계를 완료합니다.

      1. C:\bin과 같이, 명령줄 이진 파일용 새 디렉터리를 생성합니다.

      2. kubectl.exe 이진 파일을 새 디렉터리로 복사합니다.

      3. 사용자 또는 시스템 PATH 환경 변수를 편집하여 PATH에 새 디렉터리를 추가합니다.

      4. PowerShell 터미널을 닫고 새 PATH 변수를 가져오기 위해 새 터미널을 엽니다.

    5. kubectl을 설치한 이후 다음 명령을 사용하여 버전을 확인할 수 있습니다.

      kubectl version --short --client