1. 구성도

 

 

2. 실제 로컬 PC 

 1.1. 공개키, 비밀키 생성 (비밀번호 X) : ssh-keygen -t rsa -m PEM -b 2028 -q -N ""

 1.2. 공개키값 수정 

   step1) C:\Users\sec20\.ssh\id_rsa_pub 메모장으로 열기

   step2) 마지막 컴퓨터 계정 정보 삭제 (불필요)

  

 1.3. 공개키 Rocky9-ha로 복사 : scp id_rsa_pub root@172.16.0.11:/root/.ssh/authorized_keys

 1.4. 개인키 Rocky9-ha로 복사 : scp id_rsa root@172.16.0.11:/root/.ssh/

3. Rocky9-HA

 3.1. 공개키 Rocky9-1로 복사 : scp .ssh/authorized_keys root@100.100.100.11:/root/.ssh

 3.2. 공개키 Rocky9-2로 복사 : scp .ssh/authorized_keys root@100.100.100.12:/root/.ssh

 3.3. 개인키 파일 권한 변경 : chmod 600 .ssh/id_rsa

 3.4. 원격접속 확인 (공개키 발송 후)

  step1) Rocky9-1 : ssh root@100.100.100.11 

  step2) Rocky9-2 : ssh root@100.100.100.12

 

1. 기본 명령어

 1.1. Kubernetes 클러스터에 존재하는 모든 네임스페이스를 조회 : kubectl get namespace

 1.2. 현재 클러스터에서 사용 가능한 네임스페이스 목록을 조회 : kubectl get namespaces

 1.3. team1이라는 이름의 네임스페이스를 새로 생성 : kubectl create namespace team1

 1.4. 현재 사용 중인 Kubernetes 네임스페이스(namespace) 내의 모든 파드(pod)를 조회 : kubectl get pods

 1.5. kube-system 네임스페이스 안에 있는 모든 파드를 조회 : kubectl get pods -n kube-system

 1.6. team1 네임스페이스와 그 안에 있는 모든 리소스를 삭제 : kubectl delete namespace team1

 

2. YAML 파일을 사용한 리소스 관리

 2.1. vi 텍스트 에디터를 사용하여 name.yml이라는 YAML 파일을 생성하거나 수정 : vi name.yml

   * YAML 파일은 Kubernetes 리소스(예: Pod, Service, Deployment 등)를 정의

apiVersion: v1 # 뛰어쓰기 중요
kind: Namespace
metadata: 
     name: 1team # 뛰어쓰기 중요

 

 2.2. name.yml 파일에 정의된 Kubernetes 리소스를 클러스터에 생성 : kubectl apply -f name.yml

 2.3. 생성된 네임스페이스를 포함하여 모든 네임스페이스를 조회 : kubectl get namespaces

 2.4. name.yml 파일에 정의된 리소스를 삭제 : kubectl delete -f name.yml

 2.5. 네임스페이스 목록을 조회 : kubectl get namespaces

 

3. Pod 생성 및 관리

 3.1. test-nginx 파드 생성, nginx 이미지 사용, 80번 포트 개방 : kubectl run test-nginx --image=nginx --port=80

 3.2. 현재 네임스페이스에서 실행 중인 모든 파드를 조회 : kubectl get pods

 3.3. test-nginx 파드의 상태를 조회 : kubectl get pods test-nginx

 3.4. test-nginx 파드의 세부 정보를 확인 : kubectl describe pod test-nginx

   * 이벤트, 상태, 포트, 환경 변수, 오류 메시지 등을 확인 가능 

 

4. Pod와 서비스(Service)

 4.1. 192.168.104.1 IP에 요청 : curl 192.168.104.1

 4.2. test-nginx 파드에 대해 NodePort 서비스(Service)를 생성, 외부에서 파드에 접근할 수 있는 방식을 설정

         : kubectl expose pod test-nginx --type NodePort

 4.3. 현재 네임스페이스에서 생성된 모든 서비스(Service)를 조회 : kubectl get svc

 4.4. test-nginx와 연결된 서비스를 삭제 : kubectl delete svc test-nginx

 4.5. test-nginx라는 이름의 파드를 삭제 : kubectl delete pod test-nginx

 

5. 네임스페이스와 Pod

 5.1. 1team이라는 네임스페이스를 생성 : kubectl create ns 1team

 5.2. 2team이라는 네임스페이스를 생성 : kubectl create ns 2team 

 5.3. 현재 네임스페이스에 test-nginx라는 이름의 파드를 생성 : kubectl run test-nginx 

 5.4. 1team 네임스페이스 안에 test-nginx 파드 생성 : kubectl run test-nginx --image nginx --port 80 -n 1team

 5.5. 1team 네임스페이스에 있는 모든 파드를 조회 : kubectl get pods -n 1team

 5.6. 1team 네임스페이스와 그 안의 모든 리소스를 삭제 : kubectl delete ns 1team

 

 

1. Master : PC1

  1.1. 설치 .sh 파일 생성 : vi master.sh

  1.2. 소스 코드 입력 : https://github.com/Byungeun/kubernetes 참고 

    step1) IP 수정    

    step2) 버전 수정

    step3) 저장 

  1.3. 설치 파일 실행 : sh master.sh

  1.4. 설치 후 토큰 복사

 

  1.5. 노드 확인 : kubectl get nodes     * 기다리는 시간 필요 

 

2. Node1 : PC2

  2.1. 설치 .sh 파일 생성 : vi no1.sh

  2.2. 소스 코드 입력 : https://github.com/Byungeun/kubernetes 참고 

    step1) IP 수정    

    step2) 버전 수정

    step3) 저장 

  2.3. 설치 후 토큰 입력 

 

3. Node2 : PC3 

  3.1. 설치 .sh 파일 생성 : vi no2.sh

  3.2. 소스 코드 입력 : https://github.com/Byungeun/kubernetes 참고 

    step1) IP 수정    

    step2) 버전 수정

    step3) 저장 

  3.3. 설치 후 토큰 입력 

+ Recent posts

# 드래그 금지