brunch

9. 오라클 클라우드- 쿠버네티스 설치

by Master Seo

<1> Kubernetes 클러스터(OKE) 설치 - 빠른 생성

<2> 내 클러스터에 액세스 - Cloud Shell 액세스

<3> 게임 서비스 1개 올리기

<4> 빠른 생성 후 삭제시

<5> 다른 방법인 '사용자 정의 생성'로 Kubernetes 클러스터(OKE) 설치



<1> Kubernetes 클러스터(OKE) 설치 - 빠른 생성


1

개발자 서비스 > Kubernetes 클러스터(OKE)


2

빠른 생성과 사용자 정의 생성이 있다.

빠른 생성은 네트워크부터 새로 만든다.

사용자 정의 생성은 기존 네트워크에 만든다.

10 쿠버 자동.png



3

빠른 생성 해보자

11 빠른생성.png



4

디폴트

cluster


API 끝점 = 공용 끝점

워커 노드 = 전용 워커

12 클러스터.png


5

Oracle Linux가 디폴트이다.

13 이미지.png


6

생성 중

14 생성.png



11 리소스.png



7

네트워크 생성 확인해보자.


oke-vcn-quick-cluster1-09827628a

10.0.0.0/16



서브넷

15 network.png


서브넷에 라우팅 테이블 적용

pub-rt 는 svclb subnet 에 적용

pri-rt 는 node subnet 에 적용

pub-rt 는 api endpoint 에 적용



16 rt.png


private

17 rt.png

public은 igw



8

40 cluster.png


9

보안그룹


apiEndpoint 수신규칙

50 API-SG.png


apiEndpoint 송신규칙

51 API-SG-OUT.png

node 수신 규칙

60 NODE-SG.png


node 송신 규칙

61 NODE-SG-OUT.png


svclb 수신규칙

70 LB-SG.png




<2> 내 클러스터에 액세스 - Cloud Shell 액세스


1

Cloud Shell 액세스

110 cloudshell 사용.png




<3> 게임 서비스 1개 올리기


1

게임 올리기?


cat <<EOF | kubectl create -f -

apiVersion: apps/v1

kind: Deployment

metadata:

name: deployment-2048

spec:

selector:

matchLabels:

app.kubernetes.io/name: app-2048

replicas: 2

template:

metadata:

labels:

app.kubernetes.io/name: app-2048

spec:

containers:

- image: alexwhen/docker-2048

name: app-2048

ports:

- containerPort: 80

EOF




2

lb 생성하기

kubectl expose deployment deployment-2048 --port=80 --type=LoadBalancer

topasvga@cloudshell:~ (ap-seoul-1)$ kubectl expose deployment deployment-2048 --port=80 --type=LoadBalancer
service/deployment-2048 exposed


3

생성 확인

kubectl get svc,ep

topasvga@cloudshell:~ (ap-seoul-1)$ kubectl get svc,ep
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/deployment-2048 LoadBalancer 10.96.214.121 <pending> 80:31534/TCP 10s
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP,12250/TCP 9h

NAME ENDPOINTS AGE
endpoints/deployment-2048 10.244.0.132:80,10.244.0.4:80 10s
endpoints/kubernetes 10.0.0.4:6443,10.0.0.4:12250 9h
endpoints/oracle.com-oci <none> 9h


kubectl get svc,ep
topasvga@cloudshell:~ (ap-seoul-1)$ kubectl get svc,ep
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/deployment-2048 LoadBalancer 10.96.214.121 130.162.149.242 80:31534/TCP 65s
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP,12250/TCP 9h

NAME ENDPOINTS AGE
endpoints/deployment-2048 10.244.0.132:80,10.244.0.4:80 65s
endpoints/kubernetes 10.0.0.4:6443,10.0.0.4:12250 9h
endpoints/oracle.com-oci <none> 9h


4

웹브라우저로 접속

130.162.149.242


5

게임이 떴다.

방향키로 같은 숫자를 합치는 게임입니다.

200 게임.png



6

DNS 로 매핑

http://www.serverchk.com/




<4> 빠른 생성 후 삭제시


1. 빠른 생성 후 삭제시는 클러스터부터 삭제해야 한다.

2. 이후 VPC 삭제가 가능하다.


41 delete.png




<5> 다른 방법인 '사용자 정의 생성'로 Kubernetes 클러스터(OKE) 설치


1

사용자 정의 생성

20 쿠버 사용자.png


2

네트워크 지정한다.


3

1.25.4 버전을 지원한다.


20 125.png

4

리눅스는 ORACLE Linux8 이 디폴트로 되어 있다.

디폴트는 모두 오라클 리눅스이다.


30 오라클 리눅스.png



다음은

https://brunch.co.kr/@topasvga/3023


감사합니다.

keyword
매거진의 이전글8. 오라클 클라우드 - DNS 관리