Ubuntu 구성

베어메탈용 GKE를 사용하려면 노드 머신의 기본 운영체제를 구성해야 합니다. 이 페이지에는 필요한 구성을 완료하기 위해 필요한 단계가 포함되어 있습니다. 베어메탈용 GKE 요구사항 문제 해결에 대한 자세한 내용은 알려진 문제를 참조하세요.

시작하기 전에

지원되는 운영체제 버전과 Ubuntu 하드웨어 사용 설정(HWE) 커널을 사용 중인지 확인합니다. 지원되는 버전의 목록은 운영체제 선택을 참조하세요.

BPF Just In Time 컴파일러 사용 설정

운영체제의 커널에는 BPF Just In Time 컴파일러 옵션이 사용 설정되어 있어야 합니다(CONFIG_BPF_JIT=y).

  • 이 옵션이 사용 설정되었는지 확인하려면 다음 명령어를 실행합니다.

    grep CONFIG_BPF_JIT /boot/config-$(uname -r)
    

패키지 관리자 유효성 검사

  • 다음 명령어를 사용하여 패키지 관리자가 올바르게 작동하는지 확인합니다.

    sudo apt-get check
    

    출력에 오류가 표시되지 않으며 다음 예시와 유사하게 표시됩니다.

    # Reading package lists... Done
    # Building dependency tree
    # Reading state information... Done
    

Uncomplicated Firewall(UFW) 사용 중지

  1. ufw를 사용 중지합니다.

    sudo ufw disable
    
  2. ufw가 사용 중지되었는지 확인합니다.

    sudo ufw status
    # Status: inactive
    

워크스테이션에 Docker 구성

베어메탈용 GKE는 다음 시나리오에서 베어메탈 머신에 Docker를 설치하는 데 도움이 됩니다.

  • 베어메탈 머신에 Docker가 설치되어 있지 않은 경우 bmctl이 20.10.0 이상을 설치합니다.
  • 베어메탈 머신에 Docker 19.03.5 이하를 설치한 경우 bmctl이 Docker를 버전 20.10.0 이상으로 업그레이드합니다.

Docker를 수동으로 설치하려면 다음 단계를 따르세요.

  1. 모든 이전 Docker 버전을 삭제합니다.

    sudo apt-get remove docker docker-engine docker.io containerd runc
    
  2. 패키지 관리자를 업데이트합니다.

    sudo apt-get update
    
  3. Docker 20.10.0 이상을 설치합니다.

    sudo apt-get install \
      apt-transport-https \
      ca-certificates \
      curl \
      gnupg-agent \
      software-properties-common \
      docker.io
    
  4. 현재 버전 20.10.0 이상을 실행 중인지 확인합니다.

    sudo docker version
    
  5. 출력과 다음 예시를 비교하여 클라이언트 및 서버 버전이 20.10.0 이상인지 확인합니다.

     Client: Docker Engine - Community
     Version:           25.0.3
     ...
     Server: Docker Engine - Community
      Engine:
      Version:          25.0.3
    

시간 동기화 설정

시간 동기화는 지정된 외부 시간 참조를 사용하여 노드 머신에 시계를 설정하는 것으로 구성됩니다. 시간 동기화는 시간에 민감한 클러스터 활동(예: 이벤트 로깅 및 측정항목 수집)에 중요합니다. 노드 머신의 커널은 노드에서 실행되는 컨테이너의 시계를 제어합니다. 적절한 시간 동기화를 위해 chrony, systemd-timesyncd, ntp, 또는 ntpdate와 같은 사용 가능한 서비스를 통해 머신에 네트워크 시간 프로토콜(NTP) 서비스를 설치합니다. timedatectl을 실행하여 시스템 시계가 동기화되었는지 확인합니다. timedatectl의 출력에는 다음 상태가 포함되어야 합니다.

System clock synchronized: yes

Linux 커널 inotify 한도가 최소 이상인지 확인

Ubuntu 22.04를 실행하는 머신의 경우 최대 사용자 인스턴스 및 사용자 감시 수에 대한 Linux 커널 inotify 한도는 다음보다 크거나 같아야 합니다.

  • fs.inotify.max_user_instances: 8192
  • fs.inotify.max_user_watches: 524288

이러한 값이 노드 머신에서 올바르게 설정되었는지 확인하려면 다음 안내를 따르세요.

  1. max_user_instances 값을 확인합니다.

    cat /proc/sys/fs/inotify/max_user_instances
    
  2. 필요한 경우 max_user_instances를 최솟값으로 업데이트합니다.

    echo 'fs.inotify.max_user_instances=8192' | sudo tee --append /etc/sysctl.conf
    
  3. max_user_watches 값을 확인합니다.

    cat /proc/sys/fs/inotify/max_user_watches
    
  4. 필요한 경우 max_user_watches를 최솟값으로 업데이트합니다.

    echo 'fs.inotify.max_user_watches=524288' | sudo tee --append /etc/sysctl.conf
    
  5. 두 값 중 하나를 업데이트했으면 머신을 재부팅합니다.