![[OCI] OKE Cluster 구축(4) - 접속 환경 설정](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSqhPY%2FbtsMSFoxb34%2FU9n55K6j6h1KCay4nCQZEk%2Fimg.png)
1. Bastion 서버 생성1. Name : 2. Availability domain : 3. Image and Shape a. Image : Oracle Linux 8 선택 b. Shape : 4. Primary VNIC information a. VCN : b. Subnet : 5. Add SSH keys a. Generate a key pair for me 선택 b. Private key, Public key 다운6. Boot volume a. Specify a custom boot volume size 체크 b. Boot volume size : 50 GB 2. Kubernetes 관리자용 유저 생성2.1. 유저 생성## 유저 생성[opc@oke-bastion]$ sudo ..
![[OCI] OKE Cluster 구축(3) - 클러스터 배포](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdibgit%2FbtsMOo6OQLN%2FC0KKxWFwPARU8VN2nZs5AK%2Fimg.png)
1. OKE Cluster 배포1.1. 권한 부여OCI Kubernetes 서비스를 배포하기 위해 아래 권한을 가지는 정책이 필요## 에 Kubernetes 관련 리소스 권한(manage) 부여Allow group to manage cluster-family in compartment ## 에 OCIR(OCI 이미지 저장소) 관련 리소스 권한(manage) 부여Allow group to manage repos in compartment 테스트하는 계정은 Administrator 그룹(all-resources 권한)으로 배포 및 관리 가능1.2. 클러스터 배포(1) - Create Cluster1. Name : 2. Kubernetes version : -> 본 가이드에서는 작성 일자 기준 가장 최신..
![[OCI] OKE Cluster 구축(2) - 네트워크 구성](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpxYsS%2FbtsMFID8gxM%2FexjoyTQxZ4KFTHCR5tONP0%2Fimg.png)
해당 가이드는 아래 네 가지 요건으로 구성되는 OKE Cluster 구축 가이드이며, 이외 다양한 시나리오로 구성 가능합니다. - CNI Plugin : VCN-Native Pod Networking - Subnet 1) Kubernetes API Endpoint : Private 2) Worker Nodes : Private 3) Pods : Private 4) Load Balancers : Public 5) Bastion : Public 1. 개요1.1. 총 5개의 Subnet 구성API Endpoint용 SubnetWorker Nodes용 SubnetPods용 SubnetLB용 SubnetBastion용 Subnet1.2. 각 Subnet의 CIDR 대역API Endpoint용 S..
1. CNI (Container Network Interface)1.1. CNI란?CNCF(Cloud Native Computing Foundation) 프로젝트 중 하나로, 컨테이너의 네트워크 연결을 관리하는 표준 플러그인 시스템쿠버네티스 클러스터 내에서 네트워크 인터페이스를 설정하고 관리하는 데 중요한 역할1.2. 주요 목적네트워크 연결 : 클러스터 내에서 네트워크 상으로 통신할 수 있도록 네트워크 인터페이스를 설정하고 연결 -> 컨테이너들이 서로 통신 가능네트워크 관리 : 컨테이너가 종료 되거나 재시작 될 때, 해당 컨테이너의 네트워크 인터페이스를 제거하거나 다시 설정하는 등의 관리 작업플러그인 방식 : 표준화 된 API를 통해 다양한 네트워크 플러그인을 통합 가능 -> 다양한 네트워크 요구사항을 ..
![[K8S] 쿠버네티스 클러스터 구성](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FczH18L%2FbtsF6fV7vkz%2FhCPBivRXT0PzIjngHur7iK%2Fimg.png)
1. Control Plane 구성(마스터 노드에서만 진행)1-1) 클러스터 초기화 Kubernetes의 마스터 노드가 설정되고, 지정된 네트워크 범위와 API 서버 주소를 사용하여 클러스터가 구성됨, 이후에는 클러스터에 노드를 추가하고 필요한 Kubernetes 구성 요소와 애플리케이션을 배포할 수 있음더보기kubeadm init --pod-network-cidr=10.11.0.0/16 --apiserver-advertise-address=192.168.108.100 kubeadm init- Kubernetes 클러스터를 새로 초기화- kubeadm은 Kubernetes 클러스터를 쉽게 부트스트랩할 수 있도록 도와주는 도구- init 명령은 마스터 노드를 설정하고 필요한 모든 구성 요소를 실행 --po..
![[K8S] 쿠버네티스 설치(3)_kubelet, kubeadm, kubectl 설치](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6EBsz%2FbtsF2EXz0Y1%2Fkjf5EDjubKvH0jKmW7lKr0%2Fimg.png)
19. 쿠버네티스 설치 더보기 cat EOF deb https://apt.kubernetes.io/ kubernetes-xenial main kubelet, kubeadm, kubectl 패키지 설치 자동으로 업데이트 되지 않도록 패키지의 현재 버전을 고정 kubelet 활성화 containerd 데몬 재실행 쿠버네티스는 공부할 준비도 빡세다....
![[K8S] 쿠버네티스 설치(2)_도커 설치](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbv2k1F%2FbtsF4znCAdp%2FBKhiKuGinaS7bU8FzhsxO1%2Fimg.png)
17. 도커 설치 apt update ca-certificates, curl, gnupg, lsb-release 패키지 설치 repository 추가 등록 비공식 repository로부터 패키지를 다운받아야 하기 때문에 인증키가 필요 더보기 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg -dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg k8s에 대한 기본 repository가 없기 때문에 인증키를 위해 추가 더보기 echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-ke..
![[K8S] 쿠버네티스 설치(1)_VMware 노드 구성](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRu1Pk%2FbtsF2NmBrJp%2FOnHEmDhG1O6EF5TeHLKbIK%2Fimg.png)
1. 준비사항 - VMware workstation 17 pro - ubuntu 20.04 LTS 2. 가상 머신 생성 master.labs.localRAM : 4GDisk : 20G+40GIP : 192.168.108.100/24GW : 192.168.108.2 node1.labs.localRAM : 2GDisk : 20G+40GIP : 192.168.108.101/24GW : 192.168.108.2 node2.labs.localRAM : 2GDisk : 20G+40GIP : 192.168.108.102/24GW : 192.168.108.2 node3.labs.localRAM : 2GDisk : 20G+40GIP : 192.168.108.103/24GW : 192.168.108.2 3. 쉘을 통해 ..