Post

[OpenShift 오픈시프트] RHOCP 4.14.15 Installation - 3. DNS 노드 구성

RHOCP 4.14.15 설치 (오픈시프트 설치) - DNS 노드


Test Environment


Red Hat Enterprise Linux 9.2 (Plow)


RHEL 9.2를 설치하고 dns.openshift.ig.local(hostname), 172.16.0.171(ip)로 구성했다.

구성도는 1. Overview 포스팅을 참고하면 된다.


1. 기본 OS 설정


영구 마운트 등록


blkid 명령을 통해 현재 사용 중인 iso 파일의 라벨명을 확인할 수 있다.

1
/dev/sr0: UUID="2024-04-12-03-32-56-00" LABEL="RHEL-9-4-0-BaseOS-x86_64" TYPE="iso9660" PTUUID="8b7567d5" PTTYPE="dos"


시스템 재부팅 시에도 항상 반영될 수 있도록, fstab 파일에 라벨명으로 /media 위치에 영구 마운트 설정을 해준다.

vi /etc/fstab

1
LABEL=RHEL-9-4-0-BaseOS-x86_64 /media iso9660   defaults        0 0


mount -a 명령으로 /etc/fstab 파일에 정의된 모든 파일 시스템을 마운트한다.

1
2
3
mount: /media: WARNING: source write-protected, mounted read-only.
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.


systemd 데몬이 현재 사용 중인 설정 파일들을 다시 업데이트하도록 명령어를 입력한다.

systemctl daemon-reload


lsblk 명령어로 /media 위치에 마운트 된 것을 확인할 수 있다.

1
2
3
4
5
6
7
8
9
NAME                  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                     8:0    0   500G  0 disk
├─sda1                  8:1    0   600M  0 part /boot/efi
├─sda2                  8:2    0     1G  0 part /boot
└─sda3                  8:3    0 497.9G  0 part
  ├─rhel_bastion-root 253:0    0   485G  0 lvm  /
  ├─rhel_bastion-swap 253:1    0   7.9G  0 lvm  [SWAP]
  └─rhel_bastion-home 253:2    0     5G  0 lvm  /home
sr0                    11:0    1  10.3G  0 rom  /media


방화벽, SELinux 비활성화


systemctl disable --now firewalld

1
2
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".


  • setenforce 0

  • sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config


시스템 시간 설정


심볼릭 링크를 이용해 시스템 시간을 서울 시간대로 변경한다.

1
ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime


ls -rtl /etc/localtime

1
lrwxrwxrwx. 1 root root 30 Jul 15 16:27 /etc/localtime -> /usr/share/zoneinfo/Asia/Seoul


Local Repository 설정


vi /etc/yum.repos.d/local.repo 로컬 레파지토리 설정을 위해 파일을 생성한다.

1
2
3
4
5
6
7
8
9
10
11
[RHEL9-BaseOS]
name=BaseOS
baseurl=file:///media/BaseOS
enabled=1
gpgcheck=0

[RHEL9-AppStream]
name=AppStream
baseurl=file:///media/AppStream
enabled=1
gpgcheck=0


yum cache를 초기화하고, repolist가 잘 반영되었는지 확인한다.

yum clean all; yum repolist

1
2
3
4
5
6
7
8
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use "rhc" or "subscription-manager" to register.

repo id                                                                           repo name
RHEL9-AppStream                                                                   AppStream
RHEL9-BaseOS                                                                      BaseOS


yum -y install bind bind-utils


vi /etc/named.conf

1
2
3
4
5
6
7
8
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { none; };
..SKIP..
        allow-query     { any; };
..SKIP..
        dnssec-validation no;
...


2. DNS 설정


정방향 영역 생성


vi /var/named/openshift.ig.local.zone

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
$TTL 1W
@   IN SOA  @ ns.openshift.ig.local.zone. (
            4019954001  ; serial
            3H          ; refresh
            1H          ; retry
            1W          ; expiry
            1H )        ; minimum

@                        IN NS       ns.openshift.ig.local.
@                        IN A        172.16.0.171 ## dns

; Ancillary services
lb                       IN A        172.16.0.170 ## bastion

; Bastion or Jumphost
bastion           IN A        172.16.0.170 ## bastion
init-quay                IN A        172.16.0.170 ## install-config에서 resolving 가능하게 하기 위한 설정
ns                       IN A        172.16.0.171 ## dns

; OCP Cluster
bootstrap         IN A        172.16.0.172
									   
master01          IN A        172.16.0.173
master02          IN A        172.16.0.174
master03          IN A        172.16.0.175
									   
worker01          IN A        172.16.0.176
worker02          IN A        172.16.0.177
worker03          IN A        172.16.0.178
infra01           IN A        172.16.0.179 ## infra + router 역할 모두
infra02           IN A        172.16.0.180 ## infra + router 역할 모두

api                      IN A        172.16.0.170  ; external LB interface ## bastion
api-int                  IN A        172.16.0.170  ; internal LB interface ## bastion
apps                     IN A        172.16.0.170 ## bastion
*.apps                   IN A        172.16.0.170 ## bastion


역방향 영역 생성


vi /var/named/0.16.172.in-addr.rev

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$TTL 1W

@    IN    SOA    ns.openshift.ig.local.     root (
        4019954001  ; serial
        3H          ; refresh
        1H          ; retry
        1W          ; expiry
        1H )        ; minimum

       IN    NS     ns.openshift.ig.local.

170    IN    PTR    bastion.openshift.ig.local.
170    IN    PTR    api.openshift.ig.local.
170    IN    PTR    api-int.openshift.ig.local.
170    IN    PTR    init-quay.openshift.ig.local.

172    IN    PTR    bootstrap.openshift.ig.local.
173    IN    PTR    master01.openshift.ig.local.
174    IN    PTR    master02.openshift.ig.local.
175    IN    PTR    master03.openshift.ig.local.
176    IN    PTR    worker01.openshift.ig.local.
177    IN    PTR    worker02.openshift.ig.local.
178    IN    PTR    worker03.openshift.ig.local.
179    IN    PTR    infra01.openshift.ig.local.
180    IN    PTR    infra02.openshift.ig.local.


생성할 영역 선언


정방향, 역방향 영역에 대한 구성 정보를 추가한다.

vi /etc/named.rfc1912.zones

1
2
3
4
5
6
7
8
9
10
11
12
13
..SKIP..

zone "openshift.ig.local" IN {
        type master;
        file "/var/named/openshift.ig.local.zone";
        allow-update { none; };
};

zone "0.16.172.in-addr.arpa" IN {
        type master;
        file "/var/named/0.16.172.in-addr.rev";
        allow-update { none; };
};


DNS 서버 설정


systemctl enable named --now

1
Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.


systemctl status named

1
2
3
4
5
6
7
8
9
10
11
● named.service - Berkeley Internet Name Domain (DNS)
     Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; preset: disabled)
     Active: active (running) since Tue 2024-07-16 14:21:45 KST; 5s ago
    Process: 36168 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi (code=exited, sta>
    Process: 36171 ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS (code=exited, status=0/SUCCESS)
   Main PID: 36172 (named)
      Tasks: 14 (limit: 100329)
     Memory: 58.9M
        CPU: 101ms
     CGroup: /system.slice/named.service
             └─36172 /usr/sbin/named -u named -c /etc/named.conf


vi /etc/resolv.conf

1
2
search openshift.ig.local
nameserver 172.16.0.171


nslookup 명령어를 통해 도메인 정보가 잘 조회되는 것을 확인할 수 있다.

nslookup master01

1
2
3
4
5
Server:         172.16.0.171
Address:        172.16.0.171#53

Name:   master01.openshift.ig.local
Address: 172.16.0.173


nslookup 172.16.0.173

1
173.0.16.172.in-addr.arpa       name = master01.openshift.ig.local.


내 로컬 Window PC에서도 도메인으로 접속할 수 있게 [네트워크 연결 보기] > 이더넷 > 인터넷 프로토콜 버전 4(TCP/IPv4) 메뉴에서 기본 설정 DNS 서버 주소를 변경해준다.

image-20240722130636838


image-20240716142621009


bastion 서버에서도 마찬가지로 DNS servers 설정을 172.16.0.171로 변경한다.

nmtui

image-20240717164523042


NIC 재시작을 통해 변경한 설정을 반영한다.

nmcli con down ens192 && nmcli con up ens192


bastion 서버에서 설정한 도메인으로 잘 접속되는 것을 확인할 수 있다.

image-20240716142721808


image-20240716142828520


References


https://docs.openshift.com/container-platform/4.14/installing/installing_bare_metal/installing-bare-metal.html


This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.