네이버 클라우드 플랫폼의 쿠버네티스 (NKS) 설치해보자.
아래 내용은 개인적으로 정리한 내용이고, CSP의 개발에 따라 내용이 틀려질수 있습니다.
<1> 콘솔 로그인과 VPC모드로 전환
<2> VPC와 서브넷 생성
<3> 관리 서버 생성과 접속
<4> 서버에 Kubectl과 도커 설치 (선택)
<5> 컨테이너 이미지 생성
<6> Container Registry 생성
<7> Container Registry 접속을 위해 Access-key , Secert key 확인
<8> Container registry 로그인하고 도커파일 올리기 push
<9> Naver Container registry 에서 이미지 확인
<10> 삭제 필요시
<11> 같이보면 좋을 사이트
진행 순서
1. 관리용 웹서버 1대, 도커 이미지 생성
2. 레지스트리 생성,레지스트리에 도커 이미지 올리기
3. 쿠버네티스 클러스터 생성,kubectl 설정하고, 레지스트리의 도커 이미지로 Pod생성
4. 로드밸런서에 pod연결,서비스 확인
<1> 콘솔 로그인과 VPC모드로 전환
1
기본 Platform을 VPC모드 변경한다.
<2> VPC와 서브넷 생성
1
VPC생성
VPC > VPC Management > VPC생성
game-prd-vpc
10.0.0.0/16
2
서브넷 생성 시 이름?
서비스명-public-server-subnet1
game-public-server-subnet1
10.0.1.0/24
public, 일반
game-private-lb-subnet1
10.0.2.0/24
private, lb
game-private-ku-subnet1
10.0.3.0/24
prvate , 일반
이런식으로 서비스명-public -어떤 서브넷인지 표기해주는 게 좋다.
subnet 삭제 시 server나 lb가 있으면 서브넷 삭제가 안된다.
어떤 서브넷인지 표기를 해주면 해당 서브넷 삭제 시 해당 리소스를 삭제하고 서브넷 삭제하면 된다.
3
nacl 설정
game-web-nacl
외부에서 내부로 80 허용
외부에서 내부로 ssh 22 허용
내부에서 외부로 1-65535 tcp , udp 허용
4
서버에 적용할 acg 설정 , access group 설정
Server > ACG > ACG생성
game-kube-acg
IN
TCP
22
80
3000
4000
5000
OUT
TCP
UDP
1-65535
5
NAT Gateway 생성한다.
private의 k8s가 외부 통신을 할수 있도록 한다.
VPC > NAT Gateway
game-pri-k8s-ngw
이제 네트워크는 다 되었다!!
6
설치후
접속법이 IAM 설정법으로 변경 됨. 2022년 3월 1일 현재
생성과 접속법
<3> 관리 서버 생성과 접속
1
centos 7.3 설치
game-public-web-subnet1에 설치
game-k8s-man-sever
공인 ip 할당 - 외부에서 접속해야 하므로
game-web-man-server
(게임 웹 관리 서버)
2
관리자 비밀번호 확인에서 키 넣고 비밀번호 확인
3
root암호를 개인 암호로 변경
[root@game-k8s-man-sever ~]# passwd root
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
4
putty로 서버 로그인
root
<4> 서버에 Kubectl과 도커 설치 (선택)
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
enabled=1
gpgcheck=1
repo_gpgcheck=1
EOF
yum install -y kubectl
yum install -y yum-utils device-mapper-persistent-data lvm2
yum install -y docker-ce
systemctl start docker
<5> 컨테이너 이미지 생성
1
mkdir image
cd image
# vi Dockerfile
-------------------------------------------------------------------------------------------
FROM centos:7
# Install Apache
RUN yum -y update && yum install -y httpd httpd-tools && yum install -y telnet
# change index.html
RUN echo '<!DOCTYPE html> \ <head> \
<title> game </title> \
</head>\
<body style="text-align:center">\
<h2> game test! </h2>\
<div><b>Subject :</b> Kubernetes Service </div> </body> </html>' > /var/www/html/index.html
CMD ["systemctl","restart","httpd"]
#Start Apache
CMD ["/usr/sbin/httpd","-D","FOREGROUND"]
2
docker build -t image_apache .
3
docker images
4
docker run -tid -p 80:80 --name=hello_apache image_apache
5
브라우저에서 서버 공인 IP 접속
<6> Container Registry 생성
1
버킷 만들기
seo-bucket 1
2
NCR (Naver Container Registry ) 생성
Products & Services > Compute > Container Registry > 레지스트리 생성 >
NCR 프라이빗 엔드포인트 확인? 프라이빗이다.
<7> Container Registry 접속을 위해 Access-key , Secert key 확인
1
마이페이지 > 계정 관리 > 인증키 관리 >
Access-key , Secert key 확인?
KFxxxxxxxxxxxxx
<8> Container registry 로그인하고 도커파일 올리기 push
1
Container registry 로그인
# docker login -u <access-key-id> <private-endpoint> Password : <secret-key> Login Succeeded
Password : <secret-key>
Login Succeeded
2
도커 파일 올리기 push
# docker image tag image_apache <private-endpoint>/image_apache:1.0
# docker push <private-endpoint>/image_apache:1.0
<9> Naver Container registry 에서 이미지 확인
다음은
3 쿠버네티스 클러스터 생성
kubectl 설정하고, 레지스트리의 도커 이미지로 Pod생성
4 로드밸런서에 pod연결
서비스 확인
해보자~~
https://brunch.co.kr/@topasvga/2035
관련 정보
<10> 삭제 필요시
네이버 클라우드 플랫폼은 VPC를 한번에 삭제하지 않는다.
서브넷 부터 삭제후 VPC가 삭제 가능하다.
서브넷 삭제시 운영중인게 있으면 서브넷 삭제가 안된다.
서버는 정지후 반납 한다.
nks는 반납 보호 설정이 되어 있다. 서버 관리 및 설정 변경에서 반납 보호 설정 변경을 해지후 삭제가 가능하다.
<11> 같이보면 좋을 사이트
https://brunch.co.kr/@topasvga/1863
감사합니다.