loose
이로운 개발하기
loose
전체 방문자
오늘
어제
  • 전체 (204)
    • ☕ Java (24)
    • 📘 Effective Java (9)
    • 🍃 Spring (47)
    • 📖 ORM (9)
    • ☸️ Kubernetes (13)
    • 🐧 Linux (5)
    • 🐋 Docker (5)
    • 🛠️ CI & CD (7)
    • 🕸️ Web (6)
    • 🔗 Distributed System (3)
    • 📜 Js (10)
    • 📈 Database (11)
    • 🗂️ Etc (34)
    • 🧑 Chitchat (11)
    • 📒 문학 (9)
    • 👜 개인 공부 창고 (1)

공지사항

반응형

최근 글

최근 댓글

loose

이로운 개발하기

☸️ Kubernetes

[Kubernetes] DNS

2024. 1. 5. 16:34
반응형

 

Kube DNS

 

초기에 클러스터를 만들면 Kube DNS에 관한 Pod(CoreDNS)와 Service(Kube DNS)가 배포된다.

k get svc -n kube-system
k get pod -n kube-system

 

위의 DNS 기능으로 인해 서비스 리소스를 만들면 서비스의 IP에 도메인 네임을 할당한다.
해당 리소스 이름이 web-service라면 어떠한 파드에서든 내부적으로 아래의 명령어로 접근이 가능하다.

(물론 curl이나 nslookup이 깔려있어야 겠지만 말이다.)

 curl http://web-service.default.svc
nslookup web-service.default.svc

 

 

그래서 pod에 접근해서 nslookup을 해보자

 

nslookup으로 DNS 접근하기

방법 1.

 

apiVersion: v1
kind: Pod
metadata:
  name: dnsutils
  namespace: default
spec:
  containers:
  - name: dnsutils
    image: registry.k8s.io/e2e-test-images/jessie-dnsutils:1.3
    command:
      - sleep
      - "infinity"
    imagePullPolicy: IfNotPresent
  restartPolicy: Always

 

위의 파드를 만들고 파드에 exec로 접근하면 nslookup을 사용할 수 있다.

nslookup my-pod.default.svc

 

방법 2.

 k run my-pod --image=nginx:1.16
 k expose pod my-pod --port=80

아무 파드에 접속한 뒤

apt update
apt install yum
apt install dnsutils

위와 같이 설치해준다.

nslookup my-pod.default.svc

그럼 접근되는 걸 볼 수 있다.

728x90

'☸️ Kubernetes' 카테고리의 다른 글

[istio] 서비스 진입 경로 설정 방법과 우회 시 기존 룰 순서의 중요성  (1) 2024.08.02
개인 PC에 Kubernetes 환경 설치  (1) 2024.01.07
[Kubernetes] Json  (0) 2024.01.04
[Kubernetes] ETCD Snapshot Backup  (0) 2024.01.03
[Kubernetes] Cluster Upgrade  (0) 2024.01.03
    '☸️ Kubernetes' 카테고리의 다른 글
    • [istio] 서비스 진입 경로 설정 방법과 우회 시 기존 룰 순서의 중요성
    • 개인 PC에 Kubernetes 환경 설치
    • [Kubernetes] Json
    • [Kubernetes] ETCD Snapshot Backup
    loose
    loose
    불만하는 사람은 90명, 해결하는 사람은 9명, 리드하는 사람은 1명 음악과 낭만을 좋아합니다.
    hELLO. 티스토리 스킨을 소개합니다.
    제일 위로

    티스토리툴바