[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 서버 주소를 변경해준다.
bastion 서버에서도 마찬가지로 DNS servers 설정을 172.16.0.171
로 변경한다.
nmtui
NIC 재시작을 통해 변경한 설정을 반영한다.
nmcli con down ens192 && nmcli con up ens192
bastion 서버에서 설정한 도메인으로 잘 접속되는 것을 확인할 수 있다.
Comments powered by Disqus.