들어가며
- 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파일 설정 방법을 알아보았습니다.
아티클이 유용했나요?
훌륭합니다!
피드백을 제공해 주셔서 감사합니다.
도움이 되지 못해 죄송합니다!
피드백을 제공해 주셔서 감사합니다.
피드백 전송
소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.