분류없음2015.11.03 01:38

Photon, VMware, Integrated, Container, install, git, iso, platform, os, 컨테이너, 포톤, vm웨어, Docker, rkt : Today Key

 

VMware의 Container 전략(?), 지원 방향(?)인 Photon에 대한 2번째 포스팅입니다.

지난 번에 설치해 본 Photon OS에 대해서 간략히 알아보고,

실제 Container 지원에 대한 내용인  vSphere Integrated Containers & Vmware Phton Platform에 대해서 각각 알아봅니다.

Photon OS에 대해서만 현재 TPv2로 나오고, 그 이외는 아직 출시가 되지 않았기 때문에 정리된 내용이 일부 실제 내용과

다를 수도 있지 않을까? 싶습니다.

혹시 수정해야 되는 내용이 있다면 알려주시면 감사하겠습니다.

 


 

 

 

 

Photon OS 란?
▪ vSphere에 최적화된 Linux Container host runtime
▪ 확장 가능하며, 매우 가벼우며 대부분의 Container 포맷을 지원
- Docker, Rocket(Core OS), Garden(Pivotal)
▪ 현재 OpenSource로 Photon v1.0 Tech Preview 2로 공개됨.

 

 

 

 


VMware의 Photon/Cloud Native App 관련 진행 일정
4월 : Cloud-Native Apps을 위한 새로운 오픈 소스 프로젝트를 Announce
           - Photon OS : Container에 최적화된 Linux distro.
           - Lightwave : Container와 CAN을 위한 인증 및 인증서 관리 시스템
5월 : Lightwave source를 Github를 통해서 release
6월 : AppCatalyst 발표. : CAN를 개발을 가속할 수 있는 fee Desktop hypervisor.
         Project bonneville  : vSphere에 Container가 통합될 수 있는 혁신적인 방안
         Open Container Initiative Founding members로 가입
 7월 : Cloud Native computing Foundation에 Founding members로 가입
 8월 : AppCatalyst와 Photon OS의 기술 Preview 2 release.
*dirstro : set of software components, often open source

 

 

Photon OS 설치를 위한 요구사항
•VMware vSphere 5.5 or VMware vSphere 6.0 installed
     ※ Photon OS가 Linux kernel 3.X로 설치되어야 하는 데, 5.5에서는 3.X 항목이 없어서 불가로 추정
     ※ VMworkstation의 경우네는 Ver.12에 Linux 3.X으로 설정하여 설치 가능하며, Photon 항목도 있음.
•ESXi host with recommended 2GB of free RAM
•ESXi host with recommended 2GB of free disk space
•Photon ISO
                                                                 【 Recommend 】   2 vCPU, 1024MB memory, 20GB hard disk. 

 

Photon 설치 파일
• Photon OS, Tech Preview 2 – Full ISO

         - Full Version 선택 시, Photon OS를 모두 선택 할 수 있음.
• Photon OS, Tech Preview 2 – Minimal ISO
• Photon OS, Tech Preview 2 - OVA
     ※초기에는 일반 ISO만 지원했으나, Minimal ISO와 OVA가 추가됨.

 

Photon OS 종류
• Photon Micro
• Photon Minimal
• Photon Full
• Photon OSTree Host
• Photon OSTree Server

 


 

 


 vSphere Integrated Containers & Vmware Phton Platform
    - VIC : Unified Hybrid Platform
    - Photon Platform : Cloud-Native Platform

 

 

 

vSphere Integrated Containers
▪ 기존 vSphere에서 Container를 관리할 수 있도록 확장
▪ 다양한 Feature Set 지원
     -  기존 ESXi에서 지원하던 다양한 기능을 지원 (DRS, vMotion, HA/DR, Storage & Network Integration)
▪ 기존 서비스에 대한 Re-Building이나, Re-Architecture가 필요하지 않음.
▪ Enterprise급의 Container Infrastructure를 구축 가능.
     - 개발자에게는 Container의 Portable, Fast, Lightweight의 장점을 가져다 주며,
       IT 운영자에게는 Security, Visibility, Management를 효과적으로 할 수 있도록 함.

▪ 다른 Container ecosystem 솔루션(CoreOS Tectonic, Docker, Kubernetes, Mesosphere Data Center OS, Pivotal CF)과

  손쉽게 통합 가능

 

 


 

 

Photon Platform
▪ Container와 CNA에 최적화 된 Platform
Core Components
   - Photon Controller(Host 컨트롤러, 스케쥴러)

       : Container의 분산컴퓨팅 관리, 스케쥴링 관리, 오케스트레이션
       : 단일 API 엔드포인트

             - 실제 Photon Controller가 내부적인 동작을 하는 것이 아니라, 기본 Container 기반의 ecosystem에 대한  API를 제공

               Photon Platform 사용자는 동일한 API 사용을 통해서 원하는 ecosystem을 그대로 사용 가능

       : 현재 미 출시

   - Photon Machine(Compute Host)
       : Photon OS, Microvisor(based on ESX)
         - Photon OS가 내장된 ESX기반의 Lightweight한 microvisor. 

 

Photon Platform 아키텍처

  

 

 

 

vSphere Integrated Containers와 Photon Platform 간의 비교

 


 

 

Posted by 네떡지기
분류없음2015.10.27 10:09

 

 

Photon, VMware, Container, install, git, iso, platform, os, 컨테이너, 포톤, vm웨어, Docker, rkt : Today Key

 

VMWare에서 Container를 위한 Container 전용 OS인 Photon을 VMWorld 2015에서 발표하였습니다.

Photon과 관련한 2가지 방향인 VIC와 Photon Platform은 곧 다음 포스팅에서(빠르면 이번 주내?) 다뤄질 예정이며..

우선 무작정 누구나 따라하기 쉬운 Photon OS 설치를 이번 포스팅에서 다뤄봅니다.

 

 


 

 

VMWare Photon OS 설치하기

 

Photon OS

VMWare에서 Container를 위한 내놓은 Container OS

ISO(Full, Minimal), OVA로 현재 제공되고 있음.

• 현재 Version은 Photon 1.0 TP2

 

설치

• 설치 시, Linux Kernel 3.X 64bit로 설치(혹은 Photon OS)

• 아래 설치 예제는 ISO Full Version으로 진행

 

 

 

 

 

 

• Photon 이미지를 실행하면 아래와 같이 Install 화면 표시

 

• Accept !

 

 

 

• Disk 선택.

 

• Disk 초기화

 

 

• Photon OS 종류 선택. 여기서는 Full Version으로 설치

  당연히, full 버전이 Micro나 MInimal 버전보다 많은 기능을 포함하고 있지만, 조금 무거운 이미지이다.

  하지만 기존 Linux OS에 비해서는 가볍다.

 

 

• Hostname 설정

 

• Root Password 설정

 

• 설치가 끝나면, 시스템 리부팅

 

 

 

• 설치가 완료.

 

 

 

 

• Photon의 현재 Version을 확인

 

 

• Photon에서 Docker를 활성화하고, VMware에서 CNA(Cloud Native Application) 예제로 올려놓은 이미지를 받아서 실행합니다.

 

 

 

• Photon OS에 Docker Container를 띄워서 웹서비스를 간단하게 올린 예제입니다.

 

 

• Photon 예제에서 사용한 이미지의 Linux 정보는 아래와 같습니다.

 

 

• 본 예제에서 설치한 Photon OS은 Full 버전입니다. 현재 사용량을 확인해보면 약 232M 정도입니다.

 

• Full Version의 경우에는 yum도 가능합니다.

 

 

• 다음은 Photon OS은 Minimal을 설치했을 때의 모습입니다. 현재 사용량을 확인해보면 약 46M 정도입니다.

 

 

• 다음은 Photon OS은 Micro를 설치했을 때의 모습입니다. 현재 사용량을 확인해보면 약 25M 정도입니다.

 

 

• 이상으로 아주 간단한 Photon OS의 설치와 간단한 CNA 예제를 실행해보았습니다.

  Photon에 대한 정리는 다음 포스팅에서 보다 자세히. ^^ 하도록 하겠습니다.

Posted by 네떡지기
분류없음2015.05.26 17:08

Docker, Dockerfile, run, commit, built, attach,  image , container : today Keay

 

개발자와 Sysadmin을 위해서 빌드(Build)하고, 이동(Ship)하고, 분산된 어플리케이션을 실행(Run)하기 위한 OpenPlatform인

Docker의 3번째 포스팅입니다.  이번 포스팅에서는 Docker File을 사용하여 Docker 이미지를 만들어 봅니다.

Docker Image로 Container를 생성하고, 생성된 Container의 내용을 변경하고 변경된 Container를 이용하여

다시 새로운 Docker 이미지를 생성해봅니다. 그리고 그렇게 만들어진 이미지가 새로운 Container에 적용되는지를 알아봅니다.

 


 

Docker File로 이미지 생성하기

   - 기존 Docker 이미지와 Docker File을 사용하여 새로운 Docker Image를 생성

   - Docker File에는 필요한 내용들에 대해서 명세해 놓음. [Docker File에 대한 포스팅은 추후 포스팅 할 예정입니다]

   - Docker 이미지를 생성은 build 명령을 사용합니다.  이 때 tag 옵션을 사용하여 해당 이미지의 repository name을 지정하며,

     이 이름은 소문자, 숫자, '_', '.' 으로 이뤄지며, 대문자는 되지 않습니다.

   - # docker build --tag repository_name:tag

 

 

 

   - 생성한 이후의 dockar images 명령을 사용하여, 생성된 이미지를 다음과 확인할 수 있다.

 

 

   - Docker 이미지를 생성하는 데, 사용된 Docekrfile의 내용이다.

     추후에 다룰 예정이지만, 간단하게 몇 가지만 보면

     * FROM으로 생성한 이미지의 base 이미지를 지정합니다

        이 이미지는 Local에 존재하면 그 이미지를 사용하며 없으면 Docker Hub에서 가져옵니다.

     * MAINTAINER는 해당 이미지를 만든 사람을 기록한다.

     * RUN 으로 생성된 이미지에 적용된 명령을 넣는다.

     * VOLUME, WORKDIR, CMD, EXPOSE 등 나머지 옵션은 다음 포스팅에서 다룰 예정입니다.

   - Dockerfile에 기록된 항목은 Dockerfile에 기입하기도 하지만, Container 생성 시에 옵션으로 적용하기도 합니다.

     이 경우에는 Dockerfile보다는 옵션 값이 더 우선 시 됩니다.

 

 

 


 

 

 

Docker File로 생성한 이미지를 Container 만들고, 확인하기

 

    - Docker Image로 이제는 Container를 만들고 실행해 봅니다.

    - 방금 전에 위에서 생성한 nginx를 설치한 Docker image를 사용하여 Container를 만듭니다.

    - Container는 docker run 명령을 사용하며 각종 옵션을 사용할 수 있습니다.

      아래에서 사용된 옵션 중 -p는 Port Redirection을 하는 역할을 합니다. Host_Port:Contaner_Port 로,

      아래 예제는 Host의 8001 포트로 접근하는 것을 Container 80으로 전달합니다.

    - # docker run <option> <image_Repo | image ID> <runnning_process>

    - 현재 동작 중인 Container 확인은 docker ps  명령을 사용하여 볼 수 있습니다

 

 

    - 위와 같이 Container를 만들어서 구동 시키게 되면, Host의 8001로 접근하여 해당 Container의 80서비스를 열 수 있습니다.

      아래는 8001로 접근하여 nginx! 초기 페이지가 열린 것을 확인 할 수 있습니다.

 

    - 이번에는 다른 옵션을 사용하여 Container를 만들어서 실행해봅니다.

    - 마지막 Container에서 실행 할 값을 /bin/bash 로 입력했습니다.

    - 위의 에제에서는 Dockerfile에서 nginx를 구동하도록 되어 있지만 /bin/bash로 변경하였기 때문에 해당 명령을 쉘을 제어하게 됩니다.

    - Container 생성 후, 상태를 보면 아래와 같이 COMMAND 부분이 /bin/bash로 된 것을 볼 수 있습니다.

 

 

 

 

    - Host에서 Container로 docker attach 명령을 사용하여 접근하여, nginx 구동 후 동일하게 서비스가 되는 것을 볼 수 있습니다.

    - # docker attach [Container_name | Container_ID ]

 

 

 

 

 


 

 

Docker Container의 데이터 수정 후, 변경된 Container을 Docker 이미지로 Commit

    - 이번에는 Container 내부의 데이터를 수정하여, 변경된 사항에 대한 Container를 가지고 이미지를 생성해봅니다.

    - Docker 이미지로 Container를 만드는 것과 반대로, Container로 Docker 이미지를 만드는 작업입니다.

    - 테스트를 위해서 nginx의 index.html을 아래와 같이 변경해보았습니다.

    - 8001로 접속 시에, 초기 메시지가 변경된 것을 볼 수 있습니다.

 

  

 

   - 새로운 이미지를 만들기 전에, 현재 이미지를 확인해봅니다.

   - docker commit 명령을 사용하여 새로운 이미지를 만듭니다.

   - docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]   

      * -a , --author=""   : Image 제작한 사람

          -m, --message="" : commit 메시지

   - zigi/nginxubuntu:0.2 이미지가 생성된 것을 볼 수 있습니다. 이 이미지는 zigi1 Container를 통해서 만들어졌습니다.

 

 

   - 새로 만들어진 이미지로, 새로운 Container(zigi2)를 생성합니다. 

   - 새로운 Container는 8002포트에서 대해서 80포트로 Redirection 되도록 하였습니다. 

 

 

   - 새로운 Container의 nginx 서비스가 구동하고 나면, index.html이 변경된 nginx가 구동된 것을 확인할 수 있습니다.

 

  

Posted by 네떡지기
분류없음2014.12.15 22:53

Python for Networker 13번째는 본래 의도와는 다르게 다시 조금 쉬어가는 포스팅입니다.

OnePK의 예제 코드를 다뤄보기 전의 Cisco OnePK에 대해서 조금 더 간단히 알아보는 내용입니다.

다음 포스팅부터 이제 실제 예제코드는 함께 다뤄질 예정입니다! ^^

또한 본 포스팅은 OnePK에 대한 소개이기 때문에 이론적인 부분에 있어서는 지속적으로 업데이트 할 예정입니다.

 


 

OnePK Introduce

   - 다양한 Cisco Device를 OnePK라는 Application Toolkit을 통해 기존 네트워크를 programmability하게 사용 가능하도록 함.

 

 

 

 

 - 기존 IOS ,OSd/XE, XR, NX-OS 모두 각각  onePK API를 지원하는 환경에서 다양한 언어(C, Java, Python)로 만들어진

   API를 통해서 통신하여 동작할 수 있도록 함.

 

 

 

 

 

OnePK Service Set

  

 

 

○ OnePK Hosting Option

     - OnePK는 아래와 같은 3가지 방식으로 동작할 수 있도록 지원 됨.

    ▷ Process Hosting

        - OnePK가 동작하기 위한 Module 형식의 Software 구조가 필요로 함. 

        - Latency와 Delay 매주 작음.

        - 해당 장비 내부에서 동작하기 때문에 자원을 공유함.

 

    ▷ Blade Hosting

        - OnePK가 동작하기 위한 Blade Hardware가 필요로 함.

        - Latency와 Delay가 비교적 작음.

        - 모든 Platform을 지원

 

    ▷ End-Poin(Node) Hosting

        - 별도의 Device를 사용

        - Latency와 Delay가 비교적 큼.

        - 모든 Platform을 지원

  

  

 

 

 

 

 

OnePK 지원 장비 

  

 - 현재 OnePK는 1.3 Version이며, 아래의 Hardware와 Software Version에서 동작한다. (2014년 8월 기준)

Device

Software

Cisco ASR 1000 & ISR 4400 Series Router

CSR 1000V Cloud Services Router

Cisco IOS XE 3.12.0S

Cisco ASR 9000 Series Aggregation Services Router

Cisco IOS XR 5.2.0

Cisco ISR G2

Cisco IOS Release 15.4(2)T

Cisco ME 3600X/24CX

Cisco IOS Release 15.4(3)S

 

 

 

OnePK Platform별 지원 Service Set 

 

 Service Set

ME3600X/24CX

ISR G2 

ISR 4400 

ASR 1000 

ASR 9000 

CSR 1000V 

Data Path 

 

Policy

Routing 

Element

Discovery

Utility

Developer

Location

 

 

 

MediaTrace
(PathTrace)

 

 

Identity

(SANET)

 

 

 

 

 

 

 

○ Language별 OnePK Service Set 지원

   - C언어는 모든 Service Set 지원

   - Java, Python은 Data Path를 제외한 모든 Service Set 지원

 

 

 

Posted by 네떡지기
분류없음2014.12.14 04:16

 


이번에는 Cisco OnePK에 대한 아주 간단한 소개와 앞으로 포스팅 하게 될 OnePK에 대한 예제 내용들입니다.

이번 포스팅에서는 OnePK로 할 수 있는 예제 결과에 대해서만 간략하게 보여드리고,

이후 포스팅부터는 OnePK에 대한 좀 더 기술적인 내용과 함께

이번 포스팅에 보여드린 예제에 대해서 코드와 함께 좀 더 자세히 살펴보도록 하겠습니다.

 


 

Cisco OnePK (Platform Kit)

 

 ○ OnePK 란?

     - Cisco Open Network Environment SDN 전략 요소

     - 개발/자동화/빠른 서비스 생성 등의 작업을 손쉽게 하게 도와주는 툴킷

     - 다양한 언어(C, Java, Python)를 사용할 수 있도록 API를 제공

     - API를 사용하여 비즈니스 요구에 따른 확장, 변경 등의 다양한 작업 가능.

 

 

 ※ Cisco OnePK Site : https://developer.cisco.com/site/onepk/index.gsp

 

 

 ○ OnePK를 사용한  예제 1

     - Network Element(Device)에 접속하여 다양한 속성값을 가져올 수 있다.

 

 

 

 ○ OnePK를 사용한  예제 2

     - Network Element(Device)의 정보를 가져와서 확인할 수 있다. 

- Network Element의 실제 Interface 정보 -

 

- OnePK를 사용하여, Interface 번호와 Description을 가져온 결과 -

 

 

 ○ OnePK를 사용한  예제 3

     - Network Element의 설정을 OnePK에서 제공하는 API를 통해서 변경 ( Interface Descpriton 변경)

 

 

 

 

 

 ○ OnePK를 사용한  예제 4

     - Network Element에 직접 CLI 명령을 통해서 정보 확인 및 Config 설정

 

- CLI 명령을 통해서, 현재 정보를 출력하고, Loopback Interface를 생성 후, 동일한 정보를 출력하여 확인 -

 

 

● Cisco OnePK에 대한 소개 정보는 솔라구구님 블로그를 참조하셔도 좋습니다.

   : http://sola99.tistory.com/208

 

 

Posted by 네떡지기

티스토리 툴바