콘텐츠로 이동

부록 B. Kubernetes 환경에서 MAC 주소 설정#

Kubernetes 환경에서는 Pod가 특정 Host 서버에 고정되지 않고 클러스터 내 다른 Host에서 재생성될 수 있다.

따라서 Altibase의 MAC 주소 기반 라이선스 검증을 위해서는 Kubernetes 클러스터를 구성하는 Host 서버의 MAC 주소 정보가 필요하다. 다음 절차에 따라 설정한다.

1. MAC 주소 확인#

각 Host 서버에서 라이선스 검증에 사용할 네트워크 인터페이스의 이름과 MAC 주소를 확인한다. <interface_name>에는 라이선스 발급 시 제공한 MAC 주소가 할당된 실제 Host 서버의 네트워크 인터페이스 이름을 입력해야 한다.

cat /sys/class/net/<interface_name>/address

예시

$ cat /sys/class/net/eth0/address
a0:36:9f:18:da:ec

2. 심볼릭 링크 생성#

일반적으로 Host 서버마다 네트워크 인터페이스 이름이 다를 수 있으므로, 라이선스 검증에 사용할 MAC 주소가 저장된 파일을 고정된 경로(예:/etc/altibase/macaddress)에 심볼릭 링크로 생성하여 사용한다.

각 Host 서버에 다음 명령으로 심볼릭 링크를 생성한다.

ln -s /sys/class/net/<interface_name>/address /etc/altibase/macaddress

예시

$ ln -s /sys/class/net/eth0/address /etc/altibase/macaddress

모든 Host 서버에서 동일한 네트워크 인터페이스 이름을 사용하는 경우에는 심볼릭 링크를 생성하지 않고, Pod YAML의 hostPath에 MAC 주소 정보가 있는 파일 경로를 직접 지정할 수 있다. 자세한 설정 예제는 네트워크 인터페이스 이름이 동일한 경우의 설정을 참고한다.

3. Pod YAML 설정#

Pod 생성용 YAML 파일에 다음과 같이 설정한다. hostPathpath에는 라이선스 검증에 사용할 MAC 주소가 저장된 파일 또는 해당 파일을 가리키는 심볼릭 링크의 경로를 지정한다.

기본 설정#

일반적으로 Host 서버마다 네트워크 인터페이스 이름이 다를 수 있으므로, 심볼릭 링크 경로를 사용하는 것을 권장한다.

아래의 예제는 심볼릭 링크를 사용하는 경우이다.

spec:
  containers:
  - name: altibase
    volumeMounts:
    - name: host-volume
      mountPath: /macaddress
  volumes:
  - name: host-volume
    hostPath:
      path: /etc/altibase/macaddress    # 라이선스 검증에 사용할 MAC 주소 파일의 심볼릭 링크 경로
      type: File

위 설정을 통해 Host 서버의 MAC 주소 파일이 컨테이너 내부의 /macaddress 경로로 마운트된다.

Altibase는 컨테이너 내부의 /macaddress 경로를 기준으로 라이선스를 검증하므로, mountPath: /macaddress 값은 변경하지 않아야 한다.

네트워크 인터페이스 이름이 동일한 경우의 설정#

만약, 모든 Host의 네트워크 인터페이스 이름이 동일하다면 심볼릭 링크를 사용하지 않고, 다음과 같이 인터페이스 이름을 직접 사용할 수 있다.

예: ens1f0 인터페이스를 사용하는 경우

spec:
  containers:
  - name: altibase
    volumeMounts:
    - name: host-volume
      mountPath: /macaddress
  volumes:
  - name: host-volume
    hostPath:
      path: /sys/class/net/ens1f0/address
      type: File

주의사항#

  • Kubernetes 클러스터에서 Pod가 배치될 수 있는 모든 Host 서버에서 라이선스 검증이 가능하도록 Pod YAML을 설정해야 한다.
  • Altibase는 컨테이너 내부의 /macaddress 경로를 사용하여 라이선스를 검증하므로 해당 경로는 변경하지 않아야 한다.