쿠버네티스에서 pod를 생성하고, pod의 내부에 진입해서 apt update나 install을 하면 네트워크 에러를 뱉으면서 실행되지 않습니다.
해결하는 방법을 알아보겠습니다.
1. Pod 진입
kubectl exec -it nginx01 -- bash
root@nginx01:/# netstat
bash: netstat: command not found
root@nginx01:/# ps
bash: ps: command not found
처음에 pod에 진입하면 패키지 설치가 되어있지 않기 때문에 자주 사용하는 netstat이나 ps같은 명령어가 실행되지 않습니다.
apt update 명령어를 실행하면 다음과 같은 에러가 발생합니다.
root@nginx:/# apt -y update
Get:1 http://deb.debian.org/debian bookworm InRelease [796 B]
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [796 B]
Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [796 B]
Err:1 http://deb.debian.org/debian bookworm InRelease
Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
Err:2 http://deb.debian.org/debian bookworm-updates InRelease
Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
Err:3 http://deb.debian.org/debian-security bookworm-security InRelease
Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
Reading package lists... Done
N: See apt-secure(8) manpage for repository creation and user configuration details.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
E: The repository 'http://deb.debian.org/debian bookworm InRelease' is not signed.
E: Failed to fetch http://deb.debian.org/debian/dists/bookworm/InRelease Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
E: Failed to fetch http://deb.debian.org/debian/dists/bookworm-updates/InRelease Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
E: The repository 'http://deb.debian.org/debian bookworm-updates InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch http://deb.debian.org/debian-security/dists/bookworm-security/InRelease Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
E: The repository 'http://deb.debian.org/debian-security bookworm-security InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
레포지토리와 통신이 잘 이루어지지 않는 모습입니다.
2. resolv파일 확인
네임서버를 확인해보니 다음과 같이 알 수 없는 네임서버가 설정되어 있습니다.
root@nginx01:/# cat /etc/resolv.conf
search default.svc.cluster.local svc.cluster.local cluster.local
nameserver 169.254.25.10
options ndots:5
3. resolv파일 수정
다음과 같이 네임서버를 수정해줍니다. vi나 nano를 사용할 수 없으니 echo를 통해 파일에 덮어씌워줍니다.
root@nginx01:/# echo nameserver '8.8.8.8' > /etc/resolv.conf
4. 설치 및 테스트
다시 apt update와 install로 net-tools를 설치해보겠습니다.
root@nginx01:/# apt -y update
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB]
Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:4 http://deb.debian.org/debian bookworm/main arm64 Packages [8685 kB]
Get:5 http://deb.debian.org/debian bookworm-updates/main arm64 Packages [12.5 kB]
Get:6 http://deb.debian.org/debian-security bookworm-security/main arm64 Packages [132 kB]
Fetched 9080 kB in 2s (5952 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
root@nginx01:/# apt -y install net-tools
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
net-tools
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 241 kB of archives.
After this operation, 1401 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bookworm/main arm64 net-tools arm64 2.10-0.1 [241 kB]
Fetched 241 kB in 0s (1072 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package net-tools.
(Reading database ... 7584 files and directories currently installed.)
Preparing to unpack .../net-tools_2.10-0.1_arm64.deb ...
Unpacking net-tools (2.10-0.1) ...
Setting up net-tools (2.10-0.1) ...
root@nginx01:/# netstat -anp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1/nginx: master pro
tcp 0 0 10.233.104.201:42908 151.101.110.132:80 TIME_WAIT -
tcp 0 0 10.233.104.201:58168 151.101.110.132:80 TIME_WAIT -
tcp6 0 0 :::80 :::* LISTEN 1/nginx: master pro
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 3 [ ] STREAM CONNECTED 138442 1/nginx: master pro
작동이 잘 되는걸 확인할 수 있습니다.
'프로그래밍' 카테고리의 다른 글
[docker] 도커 기초 명령어 (0) | 2024.05.19 |
---|---|
[mongoDB] mongo shell을 이용해서 collection 여러개 삭제하기 (0) | 2024.04.24 |
[geopandas] shp파일을 csv로 변환 및 멀티폴리곤 simplication 작업 (0) | 2023.05.03 |
[SQL] (NOT)EXISTS 와 (NOT)IN 비교하기 (0) | 2023.04.17 |
centos7 에 oracle 19c - silent 버전 설치하기 (2) | 2023.04.07 |