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