실습 : 쿠바네티스 / ---Go 언어 (구글이 만든 언어)
Kubernetes 1.30
실습: https://killercoda.com/playgrounds/scenario/kubernetes
1. Kubectl 명령어
kubectl version-short
kubectl apply -f $(yaml_file_name)
kubectl get $(object_type)
kubectl describe $(object_type) $(resource_name) *해당 리소스의 자세한 정보 출력
kubectl exec-it $(pod_name) bash *해당 파드에 직접 접근
kubectl delete -f $(yaml_file_name) *오브젝트 삭제
kubectl delete $(object type) $(resource_name) *오브젝트 삭제
Kubernetes - "K 8 S"
1. 실습환경
https://killercoda.com/ , https://killercoda.com/playgrounds/scenario/kubernetes
- 실습간 필요한 명령어는 notepad에 기록하여 사용하는 것이 좋습니다.
2. namespace의 생성
2-1) 명령형 명령어 방식 (생성-확인-삭제)
kubectl create namespace demo
kubectl get namespaces
kubectl delete namespace demo
2-2) 선언형 오브젝트 구성 방식
1) Yaml file 작성
> vi namespace1.yaml
apiVersion: v1
kind: Namespace
metadata:
name: demo
참고사항
: notepad에 위의 내용을 작성 후 복사-붙여넣기로 작성 가능
: vi mode에서 "esc" 클릭 후 편집 모드에서 가능
2) Yaml (매니페스트) 실행
kubectl apply -f namespace1.yaml
kubectl get namespace
3. node 확인
> kubectl get node
4. pod 생성
4-1) 명령어 방식
kubectl run nginx-test-image-nginx
kubectl get pods
4-2) 선언형 방식
> vi podex1.yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx-test2
labels
app: nginx-test2
spec:
containers:
-image nginx
name: nginx-test2
4-3) pod 상세 정보 조회
kubectl describe pod nginx-test
5. Replicaset 생성
5-1) Replicatset 생성
> vi replicaex1.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: nginx-replicaset
spec:
replicas: 3
selector
matchLabels
app: nginx-replicaset
template:
metadata:
labels:
app: nginx-replicaset
spec:
containers:
-name: nginx-container
image: nginx
-----------------------------------------------------------------------------------------------
$ kubectl get replicaset,pod
NAME DESIRED CURRENT READY AGE
replicaset.apps/nginx-replicaset 3 3 3 26s
NAME READY STATUS RESTARTS AGE
pod/nginx-replicaset-7524h 1/1 Running 0 26s
pod/nginx-replicaset-7vz8c 1/1 Running 0 26s
pod/nginx-replicaset-fk2wp 1/1 Running 0 26s
pod/nginx-test 1/1 Running 0 7m58s
5-2) pod의 삭제 후 조회
kubecti delete pod nginx-replicaset-fk2wp
kubectl get replicaset,pod
-pod 삭제 명령어 수행시 삭제 시간이 다소 걸립니다. Prompt 발생 전까지 잠시 기다려.
-----------------------------------------------------------------------------------
$ kubectl get replicaset, pod
NAME DESIRED CURRENT READY AGE
replicaset.apps/nginx-replicaset 3 3 3 3m233
NAME READY STATUS RESTARTS AGE
pod/nginx-replicaset-7524h 1/1 Running 0 3m235
pod/nginx-replicaset-7vz8c 1/1 Running 0 3m23s
pod/nginx-replicaset-pj212 1/1 Running 0 67s
pod/nginx-test 1/1 Running0 10m
-------------------------------------------------------------------
controlplane $ docker run -itd --name test2 centos
Unable to find image 'centos:latest' locally
latest: Pulling from library/centos
a1d0c7532777: Pull complete
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
589a4c0918dc4e32a39d9112423b227743b1e631705387e315e629650d8b56e8
controlplane $
---------------------
Overlay 테스트
CentOS 이용 Container 배포 후 실제 사이즈는 0 (Image layer로 Read만 가능)
hextexiteLAPTOP-02EUTUOM $ docker run -itd -name test2 centos cc91c60916821b116597046d865a50cf37262b016ffb08239c809dd796974dee
hextexit LAPTOP-02EU1UOM -$
hextex i těLAPTOP-02EUTUOM-$
hextexiteLAPTOP-02EJTUOM:-$
CONTAINER 10 IMAGE
c91c6091662 centos
$ docker ps -s
hextexit LAPTOP-02EUILUOM
COMMAND
"/bin/bash"
CREATED
6 seconds ago
STATUS
Up 5 seconds
PORTS
NAMES test2
SIZE
OB (virtual 231MB)
nextexit@LAPTOP-02EUT0OM: $ docker exec test2 dd if=/dev/zero of=dummy.txt count=1000 bs=1
Dummy Layer 생성시 사이즈 증가 (상위 Layer는 RW 가능)
1000+0 records in
1000+0 records out
1000 bytes (1.0 KB) copied, 0.00140006 s. 714 kB/s
nextex it@LAPTOP-02EU1UOM:~$ docker ps-s
CONTAINER ID IMAGE E
COMMAND
CREATED
STATUS
PORTS
NAMES
SIZ
cc91e6091682 centos (virtual 231MB)
Hewlett Packard Enterprise
"/bin/bash"
2 minutes ago
Up 2 minutes
test2
1k6
HPE Conden
cloud native
클라우드 네이티브라는 용어는 클라우드 제공 모델에서 제공하는 분산 컴퓨팅을 활용하기 위해 애플리케이션을 구축 및 실행하는 개념을 의미합니다. 클라우드 네이티브 앱은 클라우드가 제공하는 확장성, 탄력성, 복원성, 유연성을 활용하도록 설계 및 구축되었습니다.
https://www.oracle.com/kr/cloud/cloud-native/what-is-cloud-native/
클라우드 네이티브 아키텍처란?- 저장& 공유 / anytime,anywhere /
2일차 (8H) 09:00-10:00 Container의 개념 Ÿ 컨테이너 가상화의 기술 특성 및 가장 보편적인 가상화 기술이 된 이유 이해 10:00-11:00 Union File System의 이해 Ÿ 컨테이너 기반의 서비스 배포를 위한 Image화 기반 기술 인 UFS 이해 11:00-12:00 UFS와 Container의 구성 Ÿ UFS 기술을 기반으로 한 Container 구성 방식 이해 13:00-14:00 Micro Service Architecture 개념 이해 Ÿ Cloud Native 환경에서의 Application 설계 기반인 MSA의 이해와 CI/CD 연계방식 이해 14:00-15:00 Kubernetes 아키텍처의 기본 Ÿ Container Orchestration 플랫폼인 Kubernetes의 기본 개 념 이해 15:00-16:00 Kubernetes Master, Node, Pods의 구성 Ÿ Kubernetes cluster의 구성요소에 대한 이해 및 상호 통신 방식 이해 16:00-17:00 하이브리드 멀티 클라우드 아키텍처 이해 Ÿ 가장 진보적인 클라우드 구성 아키텍처인 하이브리드 멀 티 클라우드에 대한 이해 17:00-18:00 수행평가
댓글 없음:
댓글 쓰기