우버(uber)에서 apache flink와 apache calcite 기반으로 SQL 기반의 스트리밍 분석 플랫폼(athenaX)을 내어놓았다.


https://eng.uber.com/athenax/


https://github.com/uber/AthenaX







잼난 부분을 소개하면 다음과 같다.


우버 개발자가 apache flink에 윈도우 관련 내용과 complex 타입을 지원하도록 PR을 보냈다. 기여했다.

https://issues.apache.org/jira/browse/FLINK-6377

https://github.com/apache/flink/pull/3665










기타 : 볼만한 내용


https://data-artisans.com/blog/session-windowing-in-flink



Streaming SQL from Julian Hyde




Introduction to Apache Calcite from Jordan Halterman




apache phoenix에서 apche calcite로 넘어가는 일은 얼마 안남은 듯.. 

Posted by '김용환'
,


VM 생성 때 못한 작업에 대한 후처리

1) youtube cloud init example


2) documentation

Automating Openstack with cloud init run a script on VM's first boot


https://raymii.org/s/tutorials/Automating_Openstack_with_Cloud_init_run_a_script_on_VMs_first_boot.html




3) example


https://arnesund.com/2015/02/05/how-to-use-cloud-init-to-customize-new-openstack-vms/

Posted by '김용환'
,



https://platform9.com/blog/kubernetes-vs-mesos-marathon/





Kubernetes offers significant advantages over Mesos + Marathon for three reasons:

  • Much wider adoption by the DevOps and containers community
  • Better scheduling options for pods, useful for complex application stacks
  • Based on over a decade of experience at Google

However, Kubernetes has been known to be difficult to deploy and manage. Platform9’s Managed Kubernetes product can fill this gap by letting organizations focus on deploying microservices on Kubernetes, instead of managing and upgrading a highly available Kubernetes deployment themselves. Further details on these and other deployment models for Kubernetes can be found in The Ultimate Guide to Deploy Kubernetes.

Posted by '김용환'
,



fluentd에서 [error]: exec failed to emit error="queue size exceeds limit" error_class="Fluent::BufferQueueLimitError" tag="google.plus" 이라는 에러가 발생한다면,

버퍼 설정이 어떻게 되어 있는지 확인한다. 



type설정만 forward로 되어 있다.



type forward 

flush_interval 10s



forward 설정이 기본 memory기반이고 기본적으로 큐 크기가 64, 청크 크기는 8mb(큐에 데이터 쌓는 사이즈)인데,

flush 간격 10초 동안 생성된 로그가 큐 크기를 넘어섰다. 



https://docs.fluentd.org/v0.12/articles/out_forward#buffer_queue_limit,-buffer_chunk_limit


buffer_queue_limit, buffer_chunk_limit

The length of the chunk queue and the size of each chunk, respectively. Please see the Buffer Plugin Overview article for the basic buffer structure. The default values are 64 and 8m, respectively. The suffixes “k” (KB), “m” (MB), and “g” (GB) can be used for buffer_chunk_limit.



memory의 제약 사항이 있기 때문에 임시파일을 생성해서 bulk로 flush하는 형태를 사용하면 된다. 



  buffer_type file

  buffer_path /var/log/td-agent/buffer/fluentd.buffer

  buffer_chunk_limit 16m

  buffer_queue_limit 128

  

  

*** 

buffer_type을 주지 않으면 메모리 기반이고, 저장 용량이 작기 때문에 로그 내용이 drop 될 수 있다. 


Posted by '김용환'
,


etcd 실행(2.2.5 기준)




$ curl -L  https://github.com/coreos/etcd/releases/download/v2.2.5/etcd-v2.2.5-darwin-amd64.zip -o etcd-v2.2.5-darwin-amd64.zip


$ unzip etcd-v2.2.5-darwin-amd64.zip



$ cd etcd-v2.2.5-darwin-amd64

$ ./etcd




커맨드 사용 방법


$ ./etcdctl ls -h

NAME:

   ./etcdctl ls - retrieve a directory


USAGE:

   ./etcdctl ls [command options] [arguments...]


OPTIONS:

   --sort returns result in sorted order

   --recursive returns all key names recursively for the given path

   -p append slash (/) to directories





간단한 dml 작업들 예제이다.

(ls, mkdir, set, get)



$ ./etcdctl ls


$ ./etcdctl mkdir /a/b

$ ./etcdctl ls /a

/a/b


$ ./etcdctl set /a/b/os ubuntu-16.04

ubuntu-16.04



$ ./etcdctl mkdir /a/b

$ ./etcdctl ls /a

/a/b

$ ./etcdctl set /a/b/os ubuntu-16.04

ubuntu-16.04

$ ./etcdctl get /a/b/os

ubuntu-16.04


$ ./etcdctl set /a/b/test samuel


$ ./etcdctl ls /a --recursive

/a/b

/a/b/os

/a/b/test




변경 방법이다. 


$ ./etcdctl update /a/b/os centos7


$ ./etcdctl get /a/b/os

centos6



간단한 노드 삭제 방법이다.


$ ./etcdtl rm /a/b/test


$ ./etcdctl rm /a/b/test

PrevNode.Value: samuel

$ ./etcdctl ls /a --recursive

/a/b

/a/b/os



구 zk(3.2.x 이전 버전)처럼 디렉토리를 지우기 전에 먼저 노드를 삭제해야 한다. 



$ ./etcdctl rmdir /a

Error:  108: Directory not empty (/a) [16540]

$ ./etcdctl rmdir /a/b

Error:  108: Directory not empty (/a/b) [16540]

$ ./etcdctl rm /a/b/os

PrevNode.Value: centos7

$ ./etcdctl rmdir /a/b/

$ ./etcdctl rmdir /a





모든 노드를 모두 보기


$ ./etcdctl ls --recursive



ttl 를 줄 수 있다.


$ ./etcdctl mkdir /a --ttl 3


3초 뒤에는 a가 사라져 있다.



http 관련 메소드는 따로 둔다. 


$ curl http://localhost:2379/xxx -XGET

404 page not found




백업하기


$ ps -ef | grep etcd

/opt/etcd/current/etcd --name master --data-dir /opt/etcd/data ...


$ ./etcdctl backup --data-dir /opt/etcd/data --backup-dir=/tmp/backup


$ ls -R /tmp/backup/

/tmp/backup/:

member


/tmp/backup/member:

snap  wal


/tmp/backup/member/snap:

000000000000022b-00000000062b232c.snap


/tmp/backup/member/wal:

0000000000000000-0000000000000000.wal





Posted by '김용환'
,

[openstack] nova cli 공부

Cloud 2017. 10. 13. 15:57

현재 테넌트의 목록을 본다.


$ nova list


테넌트에서 사용할 수 있는 flavor를 선택한다. 


$ nova flavor-list

+--------------------------------------+--------------------------------+-----------+------+-----------+------+-------+-------------+-----------+

| ID                                   | Name                           | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |

+--------------------------------------+--------------------------------+-----------+------+-----------+------+-------+-------------+-----------+

| 0f485230-0e9e-47ec-8291-cdd68fb7d3a9 | m1.small                       | 1024      | 50   | 0         |      | 1     | 1.0         | True      |

| 0fdf9fff-fdba-4176-9855-b819211fdd80 | m1.medium                      | 4096      | 50   | 0         |      | 4     | 1.0         | True      |

..

+--------------------------------------+--------------------------------+-----------+------+-----------+------+-------+-------------+-----------+



새로운 가상 장비를 생성한다.


$ nova boot myserver --image ubuntu-16.04 --flavor m1.medium




새로 생성한 서버를 본다. 


 $ nova show myserver

+--------------------------------------+----------------------------------------------------------+

| Property                             | Value                                                    |

+--------------------------------------+----------------------------------------------------------+

| OS-DCF:diskConfig                    | MANUAL                                                   |

| OS-EXT-AZ:availability_zone          |                                                          |

| OS-EXT-SRV-ATTR:host                 |                                                          |

| OS-EXT-SRV-ATTR:hypervisor_hostname  |                                                          |

| OS-EXT-SRV-ATTR:instance_name        |                                                          |

| OS-EXT-STS:power_state               | 1                                                        |

| OS-EXT-STS:task_state                | -                                                        |

| OS-EXT-STS:vm_state                  | active                                                   |

| OS-SRV-USG:launched_at               | 2017-10-13T16:37:01.000000                               |

| OS-SRV-USG:terminated_at             | -   

| id                                   | 8c09a701-e2ed-4882-a4dd-4c6ac3fd5587                    |

...                                              |

+--------------------------------------+----------------------------------------------------------+


현재 테넌트의 인스턴스 목록 중 새로 만든 vm 장비를 확인한다.


$ nova list | grep myserver

| 667ad7ab-c488-4d93-9c49-12cbc5678ace | myserver             | ACTIVE | -          | Running     | .. |



myserver vm 장비를 삭제한다.


$ nova delete myserver

Request to delete server myserver has been accepted.



전체 테먼트를 본다.



$ nova list --all-tenants 

+----+------+-----------+--------+------------+-------------+----------+

| ID | Name | Tenant ID | Status | Task State | Power State | Networks |

+----+------+-----------+--------+------------+-------------+----------+

...

+----+------+-----------+--------+------------+-------------+----------+


전체 테넌트 중 특정 테넌트를 살펴본다. 알아서 패턴매칭한다.




$ nova list --all-tenants --name samuel.kim

+----+------+-----------+--------+------------+-------------+----------+

| ID | Name | Tenant ID | Status | Task State | Power State | Networks |

+----+------+-----------+--------+------------+-------------+----------+

...

+----+------+-----------+--------+------------+-------------+----------+



 

 전체 테넌트 목록 보기.

$ keystone tenant-list

+----------------------------------+-------------------------------------------------+---------+

|                id                |                       name                      | enabled |

+----------------------------------+-------------------------------------------------+---------+

| 5bb41814075847989d9d1d0988290091 |                   test_test_t                   |   True  |

....




테넌트 목록에서 인스턴스가 속한 테넌트를 본다.


$ keystone tenant-list | grep 9949006f512f49c8baed5b89aa902924

| 9949006f512f49c8baed5b89aa902924 |                    samuel.kim                   |   True  |




콘솔 로그를 본다.

 

$ nova console-log 8c09a701-e2ed-4882-a4dd-4c6ac3fd5587  | tail

[   91.616224] rc.local[2369]: Selecting previously unselected package python-six.

[   91.624910] rc.local[2369]: Preparing to unpack .../python-six_1.10.0-3_all.deb ...

 ..



재시작한다. 


$ nova reboot 8c09a701-e2ed-4882-a4dd-4c6ac3fd5587

Request to reboot server <Server: myserver> has been accepted.



모르면 nova help 실행하기.



참조

https://docs.openstack.org/python-openstackclient/latest/

https://docs.openstack.org/python-novaclient/pike/cli/nova.html



예를 들어 available zone을 보려면 다음을 참고해서 실행한다. 

https://docs.openstack.org/python-openstackclient/latest/cli/command-objects/availability-zone.html#availability-zone-list




$ openstack availability zone list




커맨드 실패시 다음과 같은 디버그 옵션을 줄 수 있다. 


nova --debug xxxx


Posted by '김용환'
,


ceph에는 장애 복구 툴이 존재한다.


http://docs.ceph.com/docs/jewel/cephfs/disaster-recovery/



Posted by '김용환'
,

Apache NIFI

Cloud 2017. 9. 12. 20:32



apache nifi는 (배치가 아닌) 실시간으로 data 처리와 분배 기능을 제공하는 툴이다. 


저용량 트래픽에서는 실제 사용할만한 녀석으로 보인다.








기능면으로 봤을 때는 매력적이다.



대용량 트래픽(테라 급)에서도 잘 동작하는 지 테스트해봐야 할 것 같다. 




Posted by '김용환'
,





맥에서 virtualbox(5.1.6)를 설치해서 오픈 스택을 구성하기 위해 ubuntu OS(16.04-64)를 설치하던 중에 


virtualbox에서 guest OS 설치할 때 호스트 전용 어댑터를 못찾을 수 있다.






VirtuBox-일반설정-네트워크-호스트 전용 네트워크 를 보면, 비어 있다.


창 오른쪽에 +네트워크카드를 선택하면 vboxnet0을 생성할 수 있다. 


-네트워크카드를 선택하면 선택한 네트워크 카드를 삭제할 수 있다.


곤봉 아이콘을 선택하면 어댑터/DHCP 정보가 나타난다. 

어댑터의 IP는 192.168.56.1/255.255.255.0으로 나타나고, DHCP 서버는 192.168.56.100이고 서버마스크는 255.255.255.0이며 주소의 한계는 192.168.56.101~192.168.56.254로 나타난다. (잘 기억하자!)




VirtuBox-일반설정-네트워크-NAT 네트워크 를 보면, 비어 있다.

호스트 전용 네트워크처럼 하나의 네트워크 카드를 추가한다. NatNetwork를 설정한다. 나중에 도움이 될 수 있다. 







vboxnet0을 생성한 후, guestOS를 셋팅한다.



guest OS- 설정-네트워크-어댑터1에서 

호스트 전용 어댑터로 설정하고 이름은 이전에 설정한 vobxnet0로 연결할 수 있다. 무작위 모드는 모두 허용으로 한다.

추후 enp0s3이고 내부용 네트워크이다.  



guest OS- 설정-네트워크-어댑터2에서

브리지 어댑터로 설정하고 en0:WI-FI(AirPort)로 설정하고 무작위 모드는 모두 허용으로 한다.

추후 enp0s8이고 외부용 네트워크이다.

(환경에 따라 사실 잘 동작되지 않을 수 있고, 언젠가는 되겠지 하며 접근해보았다. 안되도 openstack에는 영향이 없다.)




어댑터2가 동작되지 않을 수 있는 환경을 대비해 

guest OS- 설정-네트워크-어댑터3에서 NAT 어댑터를 설정한다. 






이제, guest OS(ubuntu)를 실행시켜 설치한다.







네트워크를 작업한다. enp0s8은 사설 네트워크에서는 잘 동작할 수 있지만, 특정 상황에서는 잘 동작되지 않을 수 있다. 이 때는 enp0s9 (이전에 설정한 NAT 네트워크의 도움을 받으면서 진행할 수 있다)


$ sudo vi /etc/network/interfaces

source /etc/network/interfaces.d/*

auto lo  

iface lo inet loopback


auto enp0s3  

iface enp0s3 inet dhcp


auto enp0s8  

iface enp0s8 inet static  

address 192.168.56.101

netmask 255.255.255.0  

network 192.168.56.0  



네트워킹 데몬을 초기화한다.


$ sudo systemctl restart networking



역시 enp0s8은 잘 동작하지 않는다. 하지만 어차피 내부는 동작하니까. 그대로 진행해 본다. 





enps0s3과 enps0s8은 각각 다음과 같이 정해졌다.

$ ifconfig

..

enp0s3  inet addr:192.168.56.102

..




호스트 OS(맥)에서 게스트 OS(우분투)가 정상적인지 ping 을 실행해 본다.


$ ping 192.168.56.1

$ ping 192.168.56.102




우분투에서 ssh server를 설치 / 실행한다.

(The following packages have unmet dependencies: 에러가 나오면 update를 실행하면 된다)


$ sudo apt-get update


$ sudo apt-get install openssh-server 


$ sudo systemctl enable ssh


$ sudo systemctl start ssh






호스트 OS(맥)에서 게스트 OS(우분투) 22번 포트로 접근한다.


$ ssh -l samuel 192.168.56.102

The authenticity of host '192.168.56.102 (192.168.56.102)' can't be established.

ECDSA key fingerprint is SHA256:QZzP8QStApL95hXVI1C8+KLDCeJqfYyynJcMDQf0tzw.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.56.102' (ECDSA) to the list of known hosts.

samuel@192.168.56.102's password:

Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.10.0-28-generic x86_64)


 * Documentation:  https://help.ubuntu.com

 * Management:     https://landscape.canonical.com

 * Support:        https://ubuntu.com/advantage


93 packages can be updated.

58 updates are security updates.



The programs included with the Ubuntu system are free software;

the exact distribution terms for each program are described in the

individual files in /usr/share/doc/*/copyright.


Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by

applicable law.


samuel@samuel-VirtualBox:~$




git을 설치한다.



$ sudo su


$ sudo apt-get install git




stack이라는 사용자 계정을 만든다. useradd 써도 된다. 


$ git clone https://git.openstack.org/openstack-dev/devstack


$ devstack/tools/create-stack-user.sh


$ echo "stack ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers




stack 계정으로 접근해서 devstack를 체크아웃받고 local.conf 파일을 수정하고 stack.sh를 실행한다. 



$ su stack 


$ cd /home/stack


$ apt-get update


$ git clone https://git.openstack.org/openstack-dev/devstack


$ cd devstack/


$ cp samples/local.conf local.conf


$ vi local.conf

HOST_IP=127.0.0.1

ADMIN_PASSWORD=openstack

MYSQL_PASSWORD=openstack

RABBIT_PASSWORD=openstack

SERVICE_PASSWORD=openstack


$ ./stack.sh



2017.9.5 일자 master 버전으로는 문제가 없이 동작한다. 




=========================

DevStack Component Timing

=========================

Total runtime    1292


run_process       33

test_with_retry    3

apt-get-update     8

pip_install      247

osc              191

wait_for_service  30

git_timed        233

dbsync            19

apt-get           91

=========================




This is your host IP address: 127.0.0.1

This is your host IPv6 address: ::1

Horizon is now available at http://127.0.0.1/dashboard

Keystone is serving at http://127.0.0.1/identity/

The default users are: admin and demo

The password: openstack


WARNING:

Using lib/neutron-legacy is deprecated, and it will be removed in the future



Services are running under systemd unit files.

For more information see:

https://docs.openstack.org/devstack/latest/systemd.html


DevStack Version: pike

Change: 037d70a75c55035445a9533191e52a759e697348 Merge "Replace http with https for doc links in devstack's document" 2017-09-04 04:49:19 +0000

OS Version: Ubuntu 16.04 xenial






대시보드를 실행해본다. 


http://192.168.56.102/dashboard





로그에 나와 있듯이 admin/openstack으로 접근한다.




로그인 하면 다음 화면이 나온다.






내부에 무엇이 바뀌었나 봤더니.. 네트워크 디바이스가 추가되었다. 


$ip addr



5: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000

6: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000

7: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000

8: br-int: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000

9: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000

10: br-tun: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000

    


open swtich 가상 네트워크를 살펴본다. 


$ sudo ovs-vsctl show

46131da2-9a7a-4daf-8930-be13fa42b951

    Manager "ptcp:6640:127.0.0.1"

        is_connected: true

    Bridge br-int

        Controller "tcp:127.0.0.1:6633"

            is_connected: true

        fail_mode: secure

        Port "qg-a29d6f1e-73"

            tag: 2

            Interface "qg-a29d6f1e-73"

                type: internal

        Port "tap65add5ed-61"

            tag: 1

            Interface "tap65add5ed-61"

                type: internal

        Port "qr-5732dad9-2d"

            tag: 1

            Interface "qr-5732dad9-2d"

                type: internal

        Port int-br-ex

            Interface int-br-ex

                type: patch

                options: {peer=phy-br-ex}

        Port patch-tun

            Interface patch-tun

                type: patch

                options: {peer=patch-int}

        Port "qr-000ed957-83"

            tag: 1

            Interface "qr-000ed957-83"

                type: internal

        Port br-int

            Interface br-int

                type: internal

    Bridge br-tun

        Controller "tcp:127.0.0.1:6633"

            is_connected: true

        fail_mode: secure

        Port br-tun

            Interface br-tun

                type: internal

        Port patch-int

            Interface patch-int

                type: patch

                options: {peer=patch-tun}

    Bridge br-ex

        Controller "tcp:127.0.0.1:6633"

            is_connected: true

        fail_mode: secure

        Port phy-br-ex

            Interface phy-br-ex

                type: patch

                options: {peer=int-br-ex}

        Port br-ex

            Interface br-ex

                type: internal

    ovs_version: "2.6.1"



가상 라우터와 가상 dhcp를 확인한다. 


$ sudo ip netns show

qrouter-fbbc5c05-4373-4dfa-8ac8-e2d34442496c

qdhcp-59013e3c-0a59-4e18-8e5a-2a463dbeae1a



가상 라우터와 가상 hdcp id로 환경을 살펴본다.


가상 라우터에 할당된 네트워크와 ip를 확인할 수 있다.


$ sudo ip netns exec qrouter-fbbc5c05-4373-4dfa-8ac8-e2d34442496c ifconfig

lo        Link encap:Local Loopback

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:65536  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


qg-a29d6f1e-73 Link encap:Ethernet  HWaddr fa:16:3e:54:5f:05

          inet addr:172.24.4.5  Bcast:172.24.4.255  Mask:255.255.255.0

          inet6 addr: 2001:db8::1/64 Scope:Global

          inet6 addr: fe80::f816:3eff:fe54:5f05/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:51 errors:0 dropped:0 overruns:0 frame:0

          TX packets:33 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:8457 (8.4 KB)  TX bytes:2418 (2.4 KB)


qr-000ed957-83 Link encap:Ethernet  HWaddr fa:16:3e:d6:08:52

          inet addr:10.0.0.1  Bcast:10.0.0.63  Mask:255.255.255.192

          inet6 addr: fe80::f816:3eff:fed6:852/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1

          RX packets:26 errors:0 dropped:0 overruns:0 frame:0

          TX packets:13 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:2736 (2.7 KB)  TX bytes:998 (998.0 B)


qr-5732dad9-2d Link encap:Ethernet  HWaddr fa:16:3e:c1:d3:1b

          inet6 addr: fe80::f816:3eff:fec1:d31b/64 Scope:Link

          inet6 addr: fd6c:40e8:796f::1/64 Scope:Global

          UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1

          RX packets:5 errors:0 dropped:0 overruns:0 frame:0

          TX packets:34 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:477 (477.0 B)  TX bytes:3972 (3.9 KB)




가상 dhcp는 10.0.0.2로 매핑되어 있다.



$ sudo ip netns exec qdhcp-59013e3c-0a59-4e18-8e5a-2a463dbeae1a ifconfig

lo        Link encap:Local Loopback

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:65536  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


tap65add5ed-61 Link encap:Ethernet  HWaddr fa:16:3e:d6:06:c5

          inet addr:10.0.0.2  Bcast:10.0.0.63  Mask:255.255.255.192

          inet6 addr: fe80::f816:3eff:fed6:6c5/64 Scope:Link

          inet6 addr: fd6c:40e8:796f:0:f816:3eff:fed6:6c5/64 Scope:Global

          UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1

          RX packets:37 errors:0 dropped:0 overruns:0 frame:0

          TX packets:9 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:3504 (3.5 KB)  TX bytes:802 (802.0 B)




http://192.168.56.102/dashboard/admin/networks/에서 private, public 영역을 보면서 서브넷 환경을 알 수 있다.








http://192.168.56.102/dashboard/admin/routers/에 접근하면. 라우터 정보도 볼 수 있다.



http://192.168.56.102/dashboard/project/instances/에서 인스턴스를 생성한다.




그리고 실제 네트워크 토폴리지(http://192.168.56.102/dashboard/project/network_topology/)를 살펴본다.








인스턴스를 생성한 다음


floating IP를 설정하고 새로 생성한 






생성한 인스턴스에 floating ip가 만들어진지 확인했다.








참조


http://docs.openstack.org/developer/devstack/

'Cloud' 카테고리의 다른 글

[openstack] ceph DR (disaster recovery)  (0) 2017.10.12
Apache NIFI  (0) 2017.09.12
[openstack] Rally + Tempest  (0) 2017.09.02
[etcd] etcd 설치와 간단 예제  (0) 2017.08.23
fluent-plugin-extract_query_params  (0) 2017.08.23
Posted by '김용환'
,



오픈스택의 Rally + Tempest 는 성능 테스팅 툴이다.




https://www.slideshare.net/sliderakrup/rally-baa-s-os-meetup-31864829


Openstack Rally - Benchmark as a Service. Openstack Meetup India. Ananth/Rahul. from Rahul Krishna Upadhyaya




실행 방법


https://www.rdoproject.org/blog/2016/10/how-to-run-rally-on-packstack/




Posted by '김용환'
,