HostAliases가 뭔가요?

작성자 김아름 수정일 2022-12-12 08:33

#kubernetes, #쿠버네티스, #host, #aliase, #aliases

들어가며

  • pod의 container 내부의 /etc/hosts 파일 정보를 입력할 필요가 있을 수 있습니다.

  • 이때, pod를 정의하는 yaml파일에서 host aliases 항목을 사용하여 적용할 수 있습니다.



HostAliases 적용하기

pod 내부의 /etc/hosts 파일에 특정 ip와 도메인을 입력하기 위해 아래와 같이 정의할 수 있습니다.


apiVersion: v1
kind: Pod
metadata:
  name: hostaliases-pod
spec:
  restartPolicy: Never
  hostAliases:
  - ip: "127.0.0.1"
    hostnames:
    - "foo.local"
    - "bar.local"
  - ip: "10.1.2.3"
    hostnames:
    - "foo.remote"
    - "bar.remote"
  containers:
  - name: cat-hosts
    image: busybox:1.28
    command:
    - cat
    args:
    - "/etc/hosts"

pod spec 부분에 hostAliases 항목을 추가합니다.

위 예시 파일을 apply 하여 pod의 /etc/hosts파일을 확인해봅니다.


kubectl logs hostaliases-pod
# Kubernetes-managed hosts file.
127.0.0.1  localhost
::1  localhost ip6-localhost ip6-loopback
fe00::0  ip6-localnet
fe00::0  ip6-mcastprefix
fe00::1  ip6-allnodes
fe00::2  ip6-allrouters
10.200.0.5  hostaliases-pod

# Entries added by HostAliases.
127.0.0.1  foo.local  bar.local
10.1.2.3  foo.remote  bar.remote


위 방법을 활용하여, pod가 재시작 되더라도 hosts파일의 내용은 유지할 수 있습니다.



마무리

  • pod 내부의 hosts파일을 정의할 수 있도록, yaml파일 설정 방법을 알아보았습니다.

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300