2024년 8월 3일 토요일

cloud native 의 이해-- 실습 : 쿠바네티스(Kubernetes - "K 8 S")/클린 클라우드/

  실습 :  쿠바네티스 /   ---Go 언어 (구글이 만든 언어)


2024. 7. 16. — Go는 명시하고 있지 않지만 단순함과 실용성을 지향하는 언어다. keyword가 25개밖에 되지 않고 문법 또한 간결해 입문이 쉬운 편이다.
2023. 4. 12. — Go 언어는 심플함과 강력한 성능으로 해외뿐 아니라 국내에서도 인기가 늘고 있습니다. 넷플릭스(Netflix), 드롭박스(Dropbox) 등 많은 IT 기업이 선택한 ...
Go는 전통적인 컴파일, 링크 모델을 따르는 범용 프로그래밍 언어이다. Go는 일차적으로 시스템 프로그래밍을 위해 개발되었으며, C++, Java, Python의 장점들을 뽑아 ...
Go 언어는 빠른 성능, 안정성, 편의성, 쉬운 프로그래밍을 목표로 개발되었으며 범용 프로그래밍 언어입니다. 내용 구글이 2009년에 만든 프로그래밍 언어입니다.
Go는 2009년 구글에서 일하는 로버트 그리즈머, 롭 파이크, 켄 톰프슨이 개발한 프로그래밍 언어이다. 가비지 컬렉션 기능이 있고, 병행성(concurrent)을 잘 지원하는 ...
2024. 2. 2. — Go 언어는 2009년 발표된 오픈 소스 프로그래밍 언어입니다. 무료로 사용할 수 있고, 누구나 내부 구조를 살펴볼 수 있고, 누구나 Go 언어 발전에 이바지 ...
2022. 6. 2. — 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 / 

NIST법규 정의 : https://www.nist.gov/  국립표준기술원

- public cloud    vs.    private cloud

- hybrid    ,  community 


- 클린 클라우드 : https://tech.ktcloud.com/4  


2022. 10. 12. — 클라우드 서비스를 이야기할 때, CSP와 MSP라는 용어는 빼 놓을 수 없습니다. 클라우드 서비스 공급자(Cloud Service Provider, 이하 CSP)와 관리형 ...
3일 전 — 콘텐츠 보안 정책 (CSP)는 교차 사이트 스크립팅(XSS)과 데이터 주입 공격을 비롯한 특정 유형의 공격을 탐지하고 완화하는 데 도움이 되는 추가 보안 ...
오랜기간 쌓아온 경험과 역량을 바탕으로 통신/미디어 산업 혁신을 위한 ICT 솔루션을 제공합니다. MVNO, MNO와의 협업으로 초고속 네트워크를 구축하며, 다양한 서비스와 ...
 
- EX) AWS  / MS ASSURE  / K-CLOUD / KT - Cloud / 

- MSP - 맨하존 클럽 / 

오랜기간 쌓아온 경험과 역량을 바탕으로 통신/미디어 산업 혁신을 위한 ICT 솔루션을 제공합니다. MVNO, MNO와의 협업으로 초고속 네트워크를 구축하며, 다양한 서비스와 ...
MSP(Managed Service Provider)란 클라우드 매니지드 서비스 기업을 말합니다. 클라우드 도입 컨설팅부터 이전, 운영 관리, 보안 등의 서비스를 지원합니다.
2022. 10. 12. — 기업이 시간과 비용을 핵심 비즈니스에 집중하고, IT 매니지먼트를 모두 아웃소싱하고자 한다면 MSP를 이용하는 것이 최적이지만, IT 인프라는 해당 기업 ...

SASS: 
2024. 6. 17. — CSS의 단점을 보완하기 위해 만든 CSS 전처리기이다. 보통 CSS를 사용하다보면 단순 반복되는 부분이 많은 등, 불편함이 느껴지기 마련인데, Sass는 ...
2023. 1. 9. — Sass(Syntactically Awesome StyleSheets)는 CSS pre-processor로서 CSS의 한계와 단점을 보완하여 보다 가독성이 높고 코드의 재사용에 유리한 CSS를 ...
2023. 3. 18. — Sass란? Sass(Syntactically Awesome Style Sheets)는 CSS 전처리기(preprocessor) 중 하나로, CSS를 더 효율적으로 작성할 수 있게 도와줍니다.
2021. 7. 10. — Sass는 윈래 Ruby 언어로 만들어졌습니다. 그래서 Ruby가 설치된 환경에서 gem install sass 로 시작할 수 있습니다....만! Ruby Sass는 2019년부터 지원 ...
2023. 3. 7. — Sass(SCSS) 의 장점 · CSS보다 심플한 표기법이다 · 가독성과 재사용성을 높여주어 유지보수가 쉬워지게 도와준다. · 스킬 레벨이 다른 팀원들과의 작업 ...

Scale- up    - 1 대 +
Scale- out   - 1 대 + 1 대 + 1 대 + ~
Back  up _ ??

클라우드에서 서버 10분에 구축하기: https://www.youtube.com/watch?v=PpgUzVo1tm8








클라우드 네이티브 아키텍처는 기존의 온프레미스 인프라가 아닌 클라우드에 존재하도록 특별히 설계된 애플리케이션 또는 서비스의 설계를 말합니다. 성공적인 클라우드 전용 아키텍처는 유지보수가 용이하고 차세대 클라우드의 지원을 받는 동시에 비용 효율적이고 자가 복구가 가능해야 합니다. 클라우드 네이티브 아키텍처는 레거시 시스템에 비해 물리적 서버에 의존하지 않고도 더 높은 수준의 유연성을 제공합니다.

일자 시간 세부 학습 내용 1일차 (7H) 

10:MSP00-11:00 과정소개 Ÿ 강사 및 참석자간 Ice Break Ÿ 과정 일정 소개 11:00-12:00 클라우드 기술 개념의 이해 Ÿ 클라우드에 대한 학술적, 법률적, 현장에서의 개념 정리 13:00-14:00 Cloud Native란 무엇인가? Ÿ 클라우드 기반 서비스 환경인 Cloud Native의 태동과 성 장 과정 설명 14:00-15:00 DevOps Ÿ 클라우드 기반 DevOps을 통한 서비스 개발 및 운영 업무 흐름 이해 15:00-16:00 CI/CD Ÿ Cloud Native 서비스 중 Application이 가지는 지속적 통 합 및 지속적 배포의 흐름 이해 16:00-17:00 가상화 기술의 개념과 이해 Ÿ 클라우드의 필수적 선제 기술인 가상화 기술의 특성 및 다양한 가상화 기술 개념 이해 17:00-18:00 리눅스와 리눅스 파일 시스템의 기본 Ÿ 컨테이너 가상화의 이해를 위한 리눅스 커널에 대한 이해 


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 수행평가








댓글 없음:

예정공정표_엑셀프로그램 V41 / 공정관리 무료 프로그램 / 데이터 분석-pinterest 실시간모니터링 샘플

 프리킥 /  https://kr.freepik.com/vectors/%EA%B3%B5%EC%A0%95-%EA%B4%80%EB%A6%AC 1.  통합내역프로그램 다운로드(XCOST professional)   http://xcost.me/bbs/boa...