[Cloud Model]
IaaS - CaaS - PaaS/aPaaS - FaaS - SaaS
ex) OpenStack - Docker - CloudFoundry - OpenWhisk-(Salesforce)
[IaaS]
가상화 유형: Hypervisor vs. Container
Pass-TA는 hypervisor 위에 콘테이너를 올림
KT는 apachecloudstack에 기반
[PaaS]
SaaS의 개념을 개발 플랫폼에 확장한 방식
VM위의 컨테이너 개념
https://www.cloudfoundry.org/
Hybrid 클라우드의 장점
[SaaS]
SaaS는 Business
실제사례: 타오바오, Q10
[Cloud Native]
Polyglot[ˈpɑːliɡlɑːt] Programming: 다중언어 프로그래밍
Mediation[mì:diéiʃən] : 중재
PaaS-TA 릴리스 이력(현재 최신 버전은 4.0 로텔)
[BOSH]
VM의 Life Cycle을 관리하는 툴
CPI: Cloud Provider i/f - IaaS API
[PaaS-TA 설치]
PaaS-TA/Guide-4.0-ROTELLE/
ubuntu@ubuntu-virtual-machine:~/workspace/bosh-deployment$ ssh -i jumpbox.key jumpbox@192.168.50.51
Unauthorized use is strictly prohibited. All access and activity
is subject to logging and monitoring.
Welcome to Ubuntu 16.04.6 LTS (GNU/Linux 4.15.0-54-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Last login: Tue Jul 23 07:57:26 UTC 2019 from 192.168.50.1 on pts/0
Last login: Tue Jul 23 08:39:09 2019 from 192.168.50.1
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
bosh/0:~$
login as: ubuntu
ubuntu@192.168.55.127's password:
Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.18.0-15-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
* Canonical Livepatch is available for installation.
- Reduce system reboots and improve kernel security. Activate at:
https://ubuntu.com/livepatch
패키지 405개를 업데이트할 수 있습니다.
180 업데이트는 보안 업데이트입니다.
Your Hardware Enablement Stack (HWE) is supported until April 2023.
Last login: Tue Jul 23 14:38:24 2019 from 192.168.55.113
ubuntu@ubuntu-virtual-machine:~$
ubuntu@ubuntu-virtual-machine:~$
ubuntu@ubuntu-virtual-machine:~$ vboxmanage
Oracle VM VirtualBox Command Line Management Interface Version 5.2.20
(C) 2005-2018 Oracle Corporation
All rights reserved.
Usage:
VBoxManage [<general option>] <command>
General Options:
[-v|--version] print version number and exit
[-q|--nologo] suppress the logo
[--settingspw <pw>] provide the settings password
[--settingspwfile <file>] provide a file containing the settings password
[@<response-file>] load arguments from the given response file (bourne style)
Commands:
list [--long|-l] [--sorted|-s] vms|runningvms|ostypes|hostdvds|hostfl oppies
intnets|bridgedifs|hostonlyifs|natnets|dhcpservers
hostinfo|hostcpuids|hddbackends|hdds|dvds|floppies
usbhost|usbfilters|systemproperties|extpacks
groups|webcams|screenshotformats
showvminfo <uuid|vmname> [--details]
[--machinereadable]
showvminfo <uuid|vmname> --log <idx>
registervm <filename>
unregistervm <uuid|vmname> [--delete]
createvm --name <name>
[--groups <group>, ...]
[--ostype <ostype>]
[--register]
[--basefolder <path>]
[--uuid <uuid>]
modifyvm <uuid|vmname>
[--name <name>]
[--groups <group>, ...]
[--description <desc>]
[--ostype <ostype>]
[--iconfile <filename>]
[--memory <memorysize in MB>]
[--pagefusion on|off]
[--vram <vramsize in MB>]
[--acpi on|off]
[--pciattach 03:04.0]
[--pciattach 03:04.0@02:01.0]
[--pcidetach 03:04.0]
[--ioapic on|off]
[--hpet on|off]
[--triplefaultreset on|off]
[--apic on|off]
[--x2apic on|off]
[--paravirtprovider none|default|legacy|minimal
hyperv|kvm]
[--paravirtdebug <key=value> [,<key=value> ...]]
[--hwvirtex on|off]
[--nestedpaging on|off]
[--largepages on|off]
[--vtxvpid on|off]
[--vtxux on|off]
[--pae on|off]
[--longmode on|off]
[--ibpb-on-vm-exit on|off]
[--ibpb-on-vm-entry on|off]
[--spec-ctrl on|off]
[--l1d-flush-on-sched on|off]
[--l1d-flush-on-vm-entry on|off]
[--cpu-profile "host|Intel 80[86|286|386]"]
[--cpuid-portability-level <0..3>
[--cpuid-set <leaf[:subleaf]> <eax> <ebx> <ecx> <edx >]
[--cpuid-remove <leaf[:subleaf]>]
[--cpuidremoveall]
[--hardwareuuid <uuid>]
[--cpus <number>]
[--cpuhotplug on|off]
[--plugcpu <id>]
[--unplugcpu <id>]
[--cpuexecutioncap <1-100>]
[--rtcuseutc on|off]
[--graphicscontroller none|vboxvga|vmsvga]
[--monitorcount <number>]
[--accelerate3d on|off]
[--accelerate2dvideo on|off]
[--firmware bios|efi|efi32|efi64]
[--chipset ich9|piix3]
[--bioslogofadein on|off]
[--bioslogofadeout on|off]
[--bioslogodisplaytime <msec>]
[--bioslogoimagepath <imagepath>]
[--biosbootmenu disabled|menuonly|messageandmenu]
[--biosapic disabled|apic|x2apic]
[--biossystemtimeoffset <msec>]
[--biospxedebug on|off]
[--boot<1-4> none|floppy|dvd|disk|net>]
[--nic<1-N> none|null|nat|bridged|intnet|hostonly
generic|natnetwork]
[--nictype<1-N> Am79C970A|Am79C973
82540EM|82543GC|82545EM
virtio]
[--cableconnected<1-N> on|off]
[--nictrace<1-N> on|off]
[--nictracefile<1-N> <filename>]
[--nicproperty<1-N> name=[value]]
[--nicspeed<1-N> <kbps>]
[--nicbootprio<1-N> <priority>]
[--nicpromisc<1-N> deny|allow-vms|allow-all]
[--nicbandwidthgroup<1-N> none|<name>]
[--bridgeadapter<1-N> none|<devicename>]
[--hostonlyadapter<1-N> none|<devicename>]
[--intnet<1-N> <network name>]
[--nat-network<1-N> <network name>]
[--nicgenericdrv<1-N> <driver>
[--natnet<1-N> <network>|default]
[--natsettings<1-N> [<mtu>],[<socksnd>],
[<sockrcv>],[<tcpsnd>],
[<tcprcv>]]
[--natpf<1-N> [<rulename>],tcp|udp,[<hostip>],
<hostport>,[<guestip>],<guestport>]
[--natpf<1-N> delete <rulename>]
[--nattftpprefix<1-N> <prefix>]
[--nattftpfile<1-N> <file>]
[--nattftpserver<1-N> <ip>]
[--natbindip<1-N> <ip>
[--natdnspassdomain<1-N> on|off]
[--natdnsproxy<1-N> on|off]
[--natdnshostresolver<1-N> on|off]
[--nataliasmode<1-N> default|[log],[proxyonly],
[sameports]]
[--macaddress<1-N> auto|<mac>]
[--mouse ps2|usb|usbtablet|usbmultitouch]
[--keyboard ps2|usb
[--uart<1-N> off|<I/O base> <IRQ>]
[--uartmode<1-N> disconnected
server <pipe>
client <pipe>
tcpserver <port>
tcpclient <hostname:port>
file <file>
<devicename>]
[--lpt<1-N> off|<I/O base> <IRQ>]
[--lptmode<1-N> <devicename>]
[--guestmemoryballoon <balloonsize in MB>]
[--audio none|null|oss|alsa|pulse]
[--audioin on|off]
[--audioout on|off]
[--audiocontroller ac97|hda|sb16]
[--audiocodec stac9700|ad1980|stac9221|sb16]
[--clipboard disabled|hosttoguest|guesttohost
bidirectional]
[--draganddrop disabled|hosttoguest]
[--vrde on|off]
[--vrdeextpack default|<name>
[--vrdeproperty <name=[value]>]
[--vrdeport <hostport>]
[--vrdeaddress <hostip>]
[--vrdeauthtype null|external|guest]
[--vrdeauthlibrary default|<name>
[--vrdemulticon on|off]
[--vrdereusecon on|off]
[--vrdevideochannel on|off]
[--vrdevideochannelquality <percent>]
[--usb on|off]
[--usbehci on|off]
[--usbxhci on|off]
[--usbrename <oldname> <newname>]
[--snapshotfolder default|<path>]
[--teleporter on|off]
[--teleporterport <port>]
[--teleporteraddress <address|empty>
[--teleporterpassword <password>]
[--teleporterpasswordfile <file>|stdin]
[--tracing-enabled on|off]
[--tracing-config <config-string>]
[--tracing-allow-vm-access on|off]
[--usbcardreader on|off]
[--autostart-enabled on|off]
[--autostart-delay <seconds>]
[--videocap on|off]
[--videocapscreens all|<screen ID> [<screen ID> ...] ]
[--videocapfile <filename>]
[--videocapres <width> <height>]
[--videocaprate <rate>]
[--videocapfps <fps>]
[--videocapmaxtime <ms>]
[--videocapmaxsize <MB>]
[--videocapopts <key=value> [,<key=value> ...]]
[--defaultfrontend default|<name>]
clonevm <uuid|vmname>
[--snapshot <uuid>|<name>]
[--mode machine|machineandchildren|all]
[--options link|keepallmacs|keepnatmacs
keepdisknames]
[--name <name>]
[--groups <group>, ...]
[--basefolder <basefolder>]
[--uuid <uuid>]
[--register]
import <ovfname/ovaname>
[--dry-run|-n]
[--options keepallmacs|keepnatmacs|importtovdi]
[more options]
(run with -n to have options displayed
for a particular OVF)
export <machines> --output|-o <name>.<ovf/ova/tar.gz>
[--legacy09|--ovf09|--ovf10|--ovf20|--opc10]
[--manifest]
[--iso]
[--options manifest|iso|nomacs|nomacsbutnat]
[--vsys <number of virtual system>]
[--product <product name>]
[--producturl <product url>]
[--vendor <vendor name>]
[--vendorurl <vendor url>]
[--version <version info>]
[--description <description info>]
[--eula <license text>]
[--eulafile <filename>]
startvm <uuid|vmname>...
[--type gui|sdl|headless|separate]
[-E|--putenv <NAME>[=<VALUE>]]
controlvm <uuid|vmname>
pause|resume|reset|poweroff|savestate
acpipowerbutton|acpisleepbutton
keyboardputscancode <hex> [<hex> ...]
keyboardputstring <string1> [<string2> ...]
keyboardputfile <filename>
setlinkstate<1-N> on|off
nic<1-N> null|nat|bridged|intnet|hostonly|generic
natnetwork [<devicename>]
nictrace<1-N> on|off
nictracefile<1-N> <filename>
nicproperty<1-N> name=[value]
nicpromisc<1-N> deny|allow-vms|allow-all
natpf<1-N> [<rulename>],tcp|udp,[<hostip>],
<hostport>,[<guestip>],<guestport>
natpf<1-N> delete <rulename>
guestmemoryballoon <balloonsize in MB>
usbattach <uuid>|<address>
[--capturefile <filename>]
usbdetach <uuid>|<address>
audioin on|off
audioout on|off
clipboard disabled|hosttoguest|guesttohost
bidirectional
draganddrop disabled|hosttoguest
vrde on|off
vrdeport <port>
vrdeproperty <name=[value]>
vrdevideochannelquality <percent>
setvideomodehint <xres> <yres> <bpp>
[[<display>] [<enabled:yes|no>
[<xorigin> <yorigin>]]]
screenshotpng <file> [display]
videocap on|off
videocapscreens all|none|<screen>,[<screen>...]
videocapfile <file>
videocapres <width>x<height>
videocaprate <rate>
videocapfps <fps>
videocapmaxtime <ms>
videocapmaxsize <MB>
setcredentials <username>
--passwordfile <file> | <password>
<domain>
[--allowlocallogon <yes|no>]
teleport --host <name> --port <port>
[--maxdowntime <msec>]
[--passwordfile <file>
--password <password>]
plugcpu <id>
unplugcpu <id>
cpuexecutioncap <1-100>
webcam <attach [path [settings]]> | <detach [path]> | <list>
addencpassword <id>
<password file>|-
[--removeonsuspend <yes|no>]
removeencpassword <id>
removeallencpasswords
discardstate <uuid|vmname>
adoptstate <uuid|vmname> <state_file>
snapshot <uuid|vmname>
take <name> [--description <desc>] [--live]
[--uniquename Number,Timestamp,Space,Force]
delete <uuid|snapname>
restore <uuid|snapname>
restorecurrent
edit <uuid|snapname>|--current
[--name <name>]
[--description <desc>]
list [--details|--machinereadable]
showvminfo <uuid|snapname>
closemedium [disk|dvd|floppy] <uuid|filename>
[--delete]
storageattach <uuid|vmname>
--storagectl <name>
[--port <number>]
[--device <number>]
[--type dvddrive|hdd|fdd]
[--medium none|emptydrive|additions
<uuid|filename>|host:<drive>|iscsi]
[--mtype normal|writethrough|immutable|shareable
readonly|multiattach]
[--comment <text>]
[--setuuid <uuid>]
[--setparentuuid <uuid>]
[--passthrough on|off]
[--tempeject on|off]
[--nonrotational on|off]
[--discard on|off]
[--hotpluggable on|off]
[--bandwidthgroup <name>]
[--forceunmount]
[--server <name>|<ip>]
[--target <target>]
[--tport <port>]
[--lun <lun>]
[--encodedlun <lun>]
[--username <username>]
[--password <password>]
[--passwordfile <file>]
[--initiator <initiator>]
[--intnet]
storagectl <uuid|vmname>
--name <name>
[--add ide|sata|scsi|floppy|sas|usb|pcie]
[--controller LSILogic|LSILogicSAS|BusLogic
IntelAHCI|PIIX3|PIIX4|ICH6|I82078
[ USB|NVMe]
[--portcount <1-n>]
[--hostiocache on|off]
[--bootable on|off]
[--rename <name>]
[--remove]
bandwidthctl <uuid|vmname>
add <name> --type disk|network
--limit <megabytes per second>[k|m|g|K|M|G]
set <name>
--limit <megabytes per second>[k|m|g|K|M|G]
remove <name>
list [--machinereadable]
(limit units: k=kilobit, m=megabit, g=gigabit,
K=kilobyte, M=megabyte, G=gigabyte)
showmediuminfo [disk|dvd|floppy] <uuid|filename>
createmedium [disk|dvd|floppy] --filename <filename>
[--size <megabytes>|--sizebyte <bytes>]
[--diffparent <uuid>|<filename>
[--format VDI|VMDK|VHD] (default: VDI)
[--variant Standard,Fixed,Split2G,Stream,ESX]
modifymedium [disk|dvd|floppy] <uuid|filename>
[--type normal|writethrough|immutable|shareable
readonly|multiattach]
[--autoreset on|off]
[--property <name=[value]>]
[--compact]
[--resize <megabytes>|--resizebyte <bytes>]
[--move <path]
[--description <description string>]
clonemedium [disk|dvd|floppy] <uuid|inputfile> <uuid|outputfile>
[--format VDI|VMDK|VHD|RAW|<other>]
[--variant Standard,Fixed,Split2G,Stream,ESX]
[--existing]
mediumproperty [disk|dvd|floppy] set <uuid|filename>
<property> <value>
[disk|dvd|floppy] get <uuid|filename>
<property>
[disk|dvd|floppy] delete <uuid|filename>
<property>
encryptmedium <uuid|filename>
[--newpassword <file>|-]
[--oldpassword <file>|-]
[--cipher <cipher identifier>]
[--newpasswordid <password identifier>]
checkmediumpwd <uuid|filename>
<pwd file>|-
convertfromraw <filename> <outputfile>
[--format VDI|VMDK|VHD]
[--variant Standard,Fixed,Split2G,Stream,ESX]
[--uuid <uuid>]
convertfromraw stdin <outputfile> <bytes>
[--format VDI|VMDK|VHD]
[--variant Standard,Fixed,Split2G,Stream,ESX]
[--uuid <uuid>]
getextradata global|<uuid|vmname>
<key>|enumerate
setextradata global|<uuid|vmname>
<key>
[<value>] (no value deletes key)
setproperty machinefolder default|<folder>
hwvirtexclusive on|off
vrdeauthlibrary default|<library>
websrvauthlibrary default|null|<library>
vrdeextpack null|<library>
autostartdbpath null|<folder>
loghistorycount <value>
defaultfrontend default|<name>
logginglevel <log setting>
usbfilter add <index,0-N>
--target <uuid|vmname>|global
--name <string>
--action ignore|hold (global filters only)
[--active yes|no] (yes)
[--vendorid <XXXX>] (null)
[--productid <XXXX>] (null)
[--revision <IIFF>] (null)
[--manufacturer <string>] (null)
[--product <string>] (null)
[--remote yes|no] (null, VM filters only)
[--serialnumber <string>] (null)
[--maskedinterfaces <XXXXXXXX>]
usbfilter modify <index,0-N>
--target <uuid|vmname>|global
[--name <string>]
[--action ignore|hold] (global filters only)
[--active yes|no]
[--vendorid <XXXX>|""]
[--productid <XXXX>|""]
[--revision <IIFF>|""]
[--manufacturer <string>|""]
[--product <string>|""]
[--remote yes|no] (null, VM filters only)
[--serialnumber <string>|""]
[--maskedinterfaces <XXXXXXXX>]
usbfilter remove <index,0-N>
--target <uuid|vmname>|global
sharedfolder add <uuid|vmname>
--name <name> --hostpath <hostpath>
[--transient] [--readonly] [--automount]
sharedfolder remove <uuid|vmname>
--name <name> [--transient]
guestproperty get <uuid|vmname>
<property> [--verbose]
guestproperty set <uuid|vmname>
<property> [<value> [--flags <flags>]]
guestproperty delete|unset <uuid|vmname>
<property>
guestproperty enumerate <uuid|vmname>
[--patterns <patterns>]
guestproperty wait <uuid|vmname> <patterns>
[--timeout <msec>] [--fail-on-timeout]
guestcontrol <uuid|vmname> [--verbose|-v] [--quiet|-q]
[--username <name>] [--domain <domain>]
[--passwordfile <file> | --password <password>]
run [common-options]
[--exe <path to executable>] [--timeout <msec>]
[-E|--putenv <NAME>[=<VALUE>]] [--unquoted-args]
[--ignore-operhaned-processes] [--profile]
[--no-wait-stdout|--wait-stdout]
[--no-wait-stderr|--wait-stderr]
[--dos2unix] [--unix2dos]
-- <program/arg0> [argument1] ... [argumentN]]
start [common-options]
[--exe <path to executable>] [--timeout <msec>]
[-E|--putenv <NAME>[=<VALUE>]] [--unquoted-args]
[--ignore-operhaned-processes] [--profile]
-- <program/arg0> [argument1] ... [argumentN]]
copyfrom [common-options]
[--dryrun] [--follow] [-R|--recursive]
<guest-src0> [guest-src1 [...]] <host-dst>
copyfrom [common-options]
[--dryrun] [--follow] [-R|--recursive]
[--target-directory <host-dst-dir>]
<guest-src0> [guest-src1 [...]]
copyto [common-options]
[--dryrun] [--follow] [-R|--recursive]
<host-src0> [host-src1 [...]] <guest-dst>
copyto [common-options]
[--dryrun] [--follow] [-R|--recursive]
[--target-directory <guest-dst>]
<host-src0> [host-src1 [...]]
mkdir|createdir[ectory] [common-options]
[--parents] [--mode <mode>]
<guest directory> [...]
rmdir|removedir[ectory] [common-options]
[-R|--recursive]
<guest directory> [...]
removefile|rm [common-options] [-f|--force]
<guest file> [...]
mv|move|ren[ame] [common-options]
<source> [source1 [...]] <dest>
mktemp|createtemp[orary] [common-options]
[--secure] [--mode <mode>] [--tmpdir <directory>]
<template>
stat [common-options]
<file> [...]
guestcontrol <uuid|vmname> [--verbose|-v] [--quiet|-q]
list <all|sessions|processes|files> [common-opts]
closeprocess [common-options]
< --session-id <ID>
| --session-name <name or pattern>
<PID1> [PID1 [...]]
closesession [common-options]
< --all | --session-id <ID>
| --session-name <name or pattern> >
updatega|updateguestadditions|updateadditions
[--source <guest additions .ISO>]
[--wait-start] [common-options]
[-- [<argument1>] ... [<argumentN>]]
watch [common-options]
metrics list [*|host|<vmname> [<metric_list>]]
(comma-separated)
metrics setup
[--period <seconds>] (default: 1)
[--samples <count>] (default: 1)
[--list]
[*|host|<vmname> [<metric_list>]]
metrics query [*|host|<vmname> [<metric_list>]]
metrics enable
[--list]
[*|host|<vmname> [<metric_list>]]
metrics disable
[--list]
[*|host|<vmname> [<metric_list>]]
metrics collect
[--period <seconds>] (default: 1)
[--samples <count>] (default: 1)
[--list]
[--detach]
[*|host|<vmname> [<metric_list>]]
natnetwork add --netname <name>
--network <network>
[--enable|--disable]
[--dhcp on|off]
[--port-forward-4 <rule>]
[--loopback-4 <rule>]
[--ipv6 on|off]
[--port-forward-6 <rule>]
[--loopback-6 <rule>]
natnetwork remove --netname <name>
natnetwork modify --netname <name>
[--network <network>]
[--enable|--disable]
[--dhcp on|off]
[--port-forward-4 <rule>]
[--loopback-4 <rule>]
[--ipv6 on|off]
[--port-forward-6 <rule>]
[--loopback-6 <rule>]
natnetwork start --netname <name>
natnetwork stop --netname <name>
natnetwork list [<pattern>]
hostonlyif ipconfig <name>
[--dhcp
--ip<ipv4> [--netmask<ipv4> (def: 255.255.255.0)]
--ipv6<ipv6> [--netmasklengthv6<length> (def: 64)]]
create
remove <name>
dhcpserver add|modify --netname <network_name>
--ifname <hostonly_if_name>
[--ip <ip_address>
--netmask <network_mask>
--lowerip <lower_ip>
--upperip <upper_ip>]
[--enable | --disable]
dhcpserver remove --netname <network_name>
--ifname <hostonly_if_name>
usbdevsource add <source name>
--backend <backend>
--address <address>
usbdevsource remove <source name>
Introspection and guest debugging:
VBoxManage debugvm <uuid|vmname> dumpvmcore [--filename=name]
VBoxManage debugvm <uuid|vmname> info <item> [args...]
VBoxManage debugvm <uuid|vmname> injectnmi
VBoxManage debugvm <uuid|vmname> log [[--release] | [--debug]]
[group-settings...]
VBoxManage debugvm <uuid|vmname> logdest [[--release] | [--debug]]
[destinations...]
VBoxManage debugvm <uuid|vmname> logflags [[--release] | [--debug]] [flags...]
VBoxManage debugvm <uuid|vmname> osdetect
VBoxManage debugvm <uuid|vmname> osinfo
VBoxManage debugvm <uuid|vmname> osdmesg [--lines=lines]
VBoxManage debugvm <uuid|vmname> getregisters [--cpu=id] [reg-set.reg-name...]
VBoxManage debugvm <uuid|vmname> setregisters [--cpu=id]
[reg-set.reg-name=value...]
VBoxManage debugvm <uuid|vmname> show [[--human-readable] | [--sh-export]
[--sh-eval] | [--cmd-set]] [settings-item...]
VBoxManage debugvm <uuid|vmname> stack [--cpu=id]
VBoxManage debugvm <uuid|vmname> statistics [--reset] [--descriptions]
[--pattern=pattern]
Extension package management:
VBoxManage extpack install [--replace] <tarball>
VBoxManage extpack uninstall [--force] <name>
VBoxManage extpack cleanup
Unattended guest OS installation:
VBoxManage unattended detect <--iso=install-iso> [--machine-readable]
VBoxManage unattended install <uuid|vmname> <--iso=install-iso> [--user=login]
[--password=password] [--password-file=file] [--full-user-name=name]
[--key=product-key] [--install-additions] [--no-install-additions]
[--additions-iso=add-iso] [--install-txs] [--no-install-txs]
[--validation-kit-iso=testing-iso] [--locale=ll_CC] [--country=CC]
[--time-zone=tz] [--hostname=fqdn]
[--package-selection-adjustment=keyword] [--dry-run]
[--auxiliary-base-path=path] [--image-index=number]
[--script-template=file] [--post-install-template=file]
[--post-install-command=command]
[--extra-install-kernel-parameters=params] [--language=lang]
[--start-vm=session-type]
ubuntu@ubuntu-virtual-machine:~$ vboxmanage startvm $(bosh int ~/workspace/bosh- deployment/state.json --path /current_vm_cid) --type headless
Waiting for VM "vm-90c5ab0a-db92-4494-525f-90b184eec358" to power on...
VM "vm-90c5ab0a-db92-4494-525f-90b184eec358" has been successfully started.
ubuntu@ubuntu-virtual-machine:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul t qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group de fault qlen 1000
link/ether 00:0c:29:3f:e5:00 brd ff:ff:ff:ff:ff:ff
inet 192.168.55.127/24 brd 192.168.55.255 scope global dynamic noprefixroute ens160
valid_lft 6840sec preferred_lft 6840sec
inet6 fe80::d025:6363:7c01:d04f/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: vboxnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
inet 192.168.50.1/24 brd 192.168.50.255 scope global vboxnet0
valid_lft forever preferred_lft forever
inet6 fe80::800:27ff:fe00:0/64 scope link
valid_lft forever preferred_lft forever
ubuntu@ubuntu-virtual-machine:~$
ubuntu@ubuntu-virtual-machine:~$
ubuntu@ubuntu-virtual-machine:~$
ubuntu@ubuntu-virtual-machine:~$ ls
'VirtualBox VMs' 공개 사진
bosh-env 다운로드 음악
examples.desktop 문서 템플릿
virtualbox-5.2_5.2.20-125813~Ubuntu~bionic_amd64.deb 바탕화면
workspace 비디오
ubuntu@ubuntu-virtual-machine:~$ cd workspace/
ubuntu@ubuntu-virtual-machine:~/workspace$ ls
bosh-deployment credhub-linux-2.0.0.tgz
ubuntu@ubuntu-virtual-machine:~/workspace$ cd bosh-deployment/
ubuntu@ubuntu-virtual-machine:~/workspace/bosh-deployment$ ls
LICENSE
NOTICE
README.md
aws
azure
bbr.yml
bosh-lite-docker.yml
bosh-lite-grootfs.yml
bosh-lite-runc.yml
bosh-lite.yml
bosh.yml
ci
create-bosh.sh
credhub-linux-2.0.0.tgz
credhub.yml
creds.yml
docker
docs
experimental
external-ip-not-recommended-uaa.yml
external-ip-not-recommended.yml
external-ip-with-registry-not-recommended.yml
gcp
hm
jumpbox-user.yml
jumpbox.key
local-bosh-release-tarball.yml
local-bosh-release.yml
local-dns.yml
misc
openstack
runtime-configs
softlayer
state.json
syslog.yml
tests
turbulence.yml
uaa.yml
vcloud
virtualbox
vsphere
warden
ubuntu@ubuntu-virtual-machine:~/workspace/bosh-deployment$ ssh -i jumpbox.key ju mbox@192.168.50.51
Unauthorized use is strictly prohibited. All access and activity
is subject to logging and monitoring.
Welcome to Ubuntu 16.04.6 LTS (GNU/Linux 4.15.0-54-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Last login: Tue Jul 23 07:57:26 UTC 2019 from 192.168.50.1 on pts/0
Last login: Tue Jul 23 08:39:09 2019 from 192.168.50.1
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
bosh/0:~$
bosh/0:~$ netstat -na | grep LIST
tcp 0 0 0.0.0.0:8845 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:25555 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25556 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:17013 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8443 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:4222 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:7777 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:25250 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25923 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:2822 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8844 0.0.0.0:* LISTEN
unix 2 [ ACC ] STREAM LISTENING 12671 /run/systemd/private
unix 2 [ ACC ] SEQPACKET LISTENING 12685 /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 13488 /run/systemd/journal/stdout
unix 2 [ ACC ] STREAM LISTENING 12682 /run/systemd/fsck.progress
unix 2 [ ACC ] STREAM LISTENING 12882 /var/run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 30916 /tmp/.s.PGSQL.5432
unix 2 [ ACC ] STREAM LISTENING 30979 /var/vcap/data/blobstore/backend.sock
bosh/0:~$
[제3일차]
Bosh-Lite PaaS-TA 설치 가이드v2.0.md
[vboxcred.sh]
#!/bin/bash
export CREDPATH=/home/ubuntu/workspace/bosh-deployment
export BOSH_CA_CERT=$(bosh int $CREDPATH/creds.yml --path /director_ssl/ca)
export BOSH_CLIENT=admin
export BOSH_CLIENT_SECRET=$(bosh int $CREDPATH/creds.yml --path /admin_password)
export BOSH_ENVIRONMENT=vbox
bosh alias-env vbox -e 192.168.50.51 --ca-cert <(bosh int $CREDPATH/creds.yml --path /director_ssl/cal)
export CREDHUB_CLIENT=credhub-admin
export CREDHUB_SECRET=$(bosh int --path /credhub_admin_client_secret $CREDPATH/creds.yml)
$ export CREDHUB_CA_CERT=$(bosh int --path /credhub_tls/ca $CREDPATH/creds.yml)
$ credhub login -s https://192.168.50.51:8844 --skip-tls-validation
[.profile] 파일 맨뒤에 위 sh파일 추가하여 실행
. $HOME/workspace/bosh-deployment/vboxcred.sh
ubuntu@ubuntu-virtual-machine:~$ cd workspace/bosh-deployment/
ubuntu@ubuntu-virtual-machine:~/workspace/bosh-deployment$ clear
ubuntu@ubuntu-virtual-machine:~/workspace/bosh-deployment$
ubuntu@ubuntu-virtual-machine:~/workspace/bosh-deployment$ cat vboxcred.sh
#!/bin/bash
export CREDPATH=/home/ubuntu/workspace/bosh-deployment
export BOSH_CA_CERT=$(bosh int $CREDPATH/creds.yml --path /director_ssl/ca)
export BOSH_CLIENT=admin
export BOSH_CLIENT_SECRET=$(bosh int $CREDPATH/creds.yml --path /admin_password)
export BOSH_ENVIRONMENT=vbox
bosh alias-env vbox -e 192.168.50.51 --ca-cert <(bosh int $CREDPATH/creds.yml --path /director_ssl/ca)
export CREDHUB_CLIENT=credhub-admin
export CREDHUB_SECRET=$(bosh int --path /credhub_admin_client_secret $CREDPATH/creds.yml)
export CREDHUB_CA_CERT=$(bosh int --path /credhub_tls/ca $CREDPATH/creds.yml)
credhub login -s https://192.168.50.51:8844 --skip-tls-validation
ubuntu@ubuntu-virtual-machine:~/workspace/bosh-deployment$
ubuntu@ubuntu-virtual-machine:~/workspace/bosh-deployment$
ubuntu@ubuntu-virtual-machine:~/workspace/bosh-deployment$ cd ~
ubuntu@ubuntu-virtual-machine:~$
ubuntu@ubuntu-virtual-machine:~$ cat .profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
. $HOME/workspace/bosh-deployment/vboxcred.sh
ubuntu@ubuntu-virtual-machine:~$
ubuntu@ubuntu-virtual-machine:~$
ubuntu@ubuntu-virtual-machine:~$ source .profile
Using environment '192.168.50.51' as client 'admin'
Name bosh-lite
UUID 16799d63-01dc-4d46-9238-66b2d0c2ab7a
Version 270.4.0 (00000000)
CPI warden_cpi
Features compiled_package_cache: disabled
config_server: enabled
local_dns: enabled
power_dns: disabled
snapshots: disabled
User admin
Succeeded
Warning: The targeted TLS certificate has not been verified for this connection.
Warning: The --skip-tls-validation flag is deprecated. Please use --ca-cert instead.
Setting the target url: https://192.168.50.51:8844
Login Successful
ubuntu@ubuntu-virtual-machine:~$
PaaS-TA 4.0 설치
PaaS-TA 설치파일 다운로드
$ wget --content-disposition http://amedio0222.ipdisk.co.kr/pubdav/HDD2/dev/paasta-4.0.tar
PaaS-TA 설치파일 압축풀기
$ tar -xvf ./paasta-4.0.tar
Local Route
$ sudo ip route add 10.244.0.0/16 via 192.168.50.51 # Linux (using iproute2 suite)
Update cloud config
$ cd ~/workspace/paasta-4.0/deployment/cloud-config
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/cloud-config$ ll
합계 44
drwxrwxr-x 2 ubuntu ubuntu 4096 7월 24 11:45 ./
drwxrwxr-x 5 ubuntu ubuntu 4096 5월 23 16:24 ../
-rwx------ 1 ubuntu ubuntu 5498 5월 23 16:15 aws-cloud-config.yml*
-rwx------ 1 ubuntu ubuntu 5161 5월 23 16:15 azure-cloud-config.yml*
-rwx------ 1 ubuntu ubuntu 1650 5월 23 16:15 bosh-lite-cloud-config.yml*
-rwx------ 1 ubuntu ubuntu 5971 5월 23 16:15 google-cloud-config.yml*
-rwx------ 1 ubuntu ubuntu 5132 5월 23 16:15 openstack-cloud-config.yml*
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/cloud-config$
$ bosh -e vbox update-cloud-config bosh-lite-cloud-config.yml
(별도 세션을 중복해서 열어서: vbox 환경변수, 크레덴셜 연결 설정후-vboxcred.sh실행)
login as: ubuntu
ubuntu@192.168.55.127's password:
Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.18.0-15-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
* Canonical Livepatch is available for installation.
- Reduce system reboots and improve kernel security. Activate at:
https://ubuntu.com/livepatch
패키지 248개를 업데이트할 수 있습니다.
0 업데이트는 보안 업데이트입니다.
Your Hardware Enablement Stack (HWE) is supported until April 2023.
*** 시스템을 다시 시작해야 합니다 ***
Last login: Wed Jul 24 09:58:12 2019 from 192.168.55.113
Using environment '192.168.50.51' as client 'admin'
Name bosh-lite
UUID 16799d63-01dc-4d46-9238-66b2d0c2ab7a
Version 270.4.0 (00000000)
CPI warden_cpi
Features compiled_package_cache: disabled
config_server: enabled
local_dns: enabled
power_dns: disabled
snapshots: disabled
User admin
Succeeded
Warning: The targeted TLS certificate has not been verified for this connection.
Warning: The --skip-tls-validation flag is deprecated. Please use --ca-cert instead.
Setting the target url: https://192.168.50.51:8844
Login Successful
ubuntu@ubuntu-virtual-machine:~$
ubuntu@ubuntu-virtual-machine:~$
ubuntu@ubuntu-virtual-machine:~$ cd workspace/paasta-4.0/deployment/cloud-config/
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/cloud-config$
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/cloud-config$ bosh env
Using environment '192.168.50.51' as client 'admin'
Name bosh-lite
UUID 16799d63-01dc-4d46-9238-66b2d0c2ab7a
Version 270.4.0 (00000000)
CPI warden_cpi
Features compiled_package_cache: disabled
config_server: enabled
local_dns: enabled
power_dns: disabled
snapshots: disabled
User admin
Succeeded
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/cloud-config$ bosh -e vbox update-cloud-config bosh-lite-cloud-config.yml
Using environment '192.168.50.51' as client 'admin'
+ azs:
+ - name: z1
+ - name: z2
+ - name: z3
+ vm_types:
+ - name: minimal
+ - name: small
+ - name: medium
+ - name: medium-memory-8GB
+ - name: small-50GB-ephemeral-disk
+ - name: small-100GB-ephemeral-disk
+ - name: small-highmem-16GB
+ - name: small-highmem
+ - name: default
+ vm_extensions:
+ - name: 5GB_ephemeral_disk
+ - name: 10GB_ephemeral_disk
+ - name: 50GB_ephemeral_disk
+ - name: 100GB_ephemeral_disk
+ - name: 500GB_ephemeral_disk
+ - name: 1TB_ephemeral_disk
+ - cloud_properties:
+ ports:
+ - host: 80
+ - host: 443
+ - host: 2222
+ name: ssh-proxy-and-router-lb
+ - cloud_properties:
+ ports:
+ - host: 1024-1123
+ name: cf-tcp-router-network-properties
+ - cloud_properties:
+ ports:
+ - host: 8845
+ name: credhub-lb
+ compilation:
+ az: z1
+ network: default
+ reuse_compilation_vms: true
+ vm_type: minimal
+ workers: 6
+ networks:
+ - name: default
+ subnets:
+ - azs:
+ - z1
+ - z2
+ - z3
+ cloud_properties:
+ name: random
+ gateway: 10.244.0.1
+ range: 10.244.0.0/20
+ reserved:
+ - 10.244.0.1
+ static:
+ - 10.244.0.2 - 10.244.0.127
+ - 10.244.1.0 - 10.244.1.127
+ - 10.244.2.0 - 10.244.2.127
+ - 10.244.3.0 - 10.244.3.127
+ disk_types:
+ - disk_size: 1024
+ name: 1GB
+ - disk_size: 5120
+ name: 5GB
+ - disk_size: 10240
+ name: 10GB
+ - disk_size: 100240
+ name: 100GB
+ - disk_size: 1024
+ name: default
Continue? [yN]: y
Succeeded
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/cloud-config$ bosh update-cloud-config bosh-lite-cloud-config.yml
Using environment '192.168.50.51' as client 'admin'
Continue? [yN]: y
Succeeded
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/cloud-config$ bosh -e vbox update-cloud-config bosh-lite-cloud-config.yml
Using environment '192.168.50.51' as client 'admin'
Continue? [yN]: y
Succeeded
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/cloud-config$
Upload a runtime-config
~/workspace/paasta-4.0/deployment/bosh-deployment$ ./update-runtime-config.sh
Upload stemcell
~/workspace/paasta-4.0/stemcell$ bosh -e vbox upload-stemcell bosh-warden-boshlite-ubuntu-xenial-go_agent-97.28.tgz
Deploy PaaS-TA
~/workspace/paasta-4.0/deployment/paasta-deployment$ vi paasta-deployment.yml
~/workspace/paasta-4.0/deployment/paasta-deployment$ vi ./deploy-bosh-lite.sh
(참고) xip io
~/workspace/paasta-4.0/deployment/paasta-deployment$ ./deploy-bosh-lite.sh
(1시간 걸림)
$ bosh -e vbox -d paasta vms
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/paasta-deployment$ bosh -e vbox -d paasta vms
Using environment '192.168.50.51' as client 'admin'
Task 35. Done
Deployment 'paasta'
Instance Process State AZ IPs VM CID VM Type Active
adapter/a03af8aa-155d-4717-8b8f-59be4e7c3516 running z2 10.244.0.129 7975f3f9-5a1b-436a-7df0-0093247fbbe4 minimal true
api/a7655b65-3029-4b19-9f54-96c059ed2bd6 running z2 10.244.0.134 a76f447d-d741-4549-4925-95e6e0d2aa5e small true
cc-worker/71f8a6d3-4288-45e4-9530-d2165940f2ab running z2 10.244.0.135 f7350783-6bc9-4032-718e-b664eac659ed minimal true
credhub/394bf88d-df69-4931-ae33-3b10368148f9 running z2 10.244.0.141 fe9442e5-07d5-4b71-701e-e9848b45a4c8 default true
database/bdd43713-4855-4622-b584-dd78d86b2f13 running z3 10.244.0.130 ea39f676-ab10-4279-4a31-6e0e460d3986 default true
diego-api/a5218272-60d7-418f-a8c1-5ff53e408bc1 running z2 10.244.0.131 87045d27-d375-4d69-756e-e6a4bb294ff1 small true
diego-cell/3f398ef2-6cfa-48be-a5fa-c2afb46cb919 running z1 10.244.0.139 9683d5c7-bf5c-47c1-567a-c816870fb2fe default true
doppler/7455430c-e43b-43d2-8a69-0c3fe08fae3a running z1 10.244.0.138 e21b2a32-1074-4e02-727b-32e67bf9a4de minimal true
log-api/ec498165-5611-4619-959e-827788b66dbd running z2 10.244.0.140 ccddf65f-c25e-4f11-7433-e4daab9d8aad minimal true
nats/d44bac39-4333-4097-8412-ff7bf6f3bd97 running z1 10.244.0.128 e0e6c779-9654-4972-677c-be9a70187599 minimal true
router/31728a72-74ea-4c0d-b952-c79c4bbdfae2 running z1 10.244.0.34 ad9b9550-81ac-4aa9-59f3-14d91a90040d minimal true
scheduler/70cb89e2-6b3c-448d-8611-ca7162c58d7a running z2 10.244.0.137 4abc8910-4e8a-4023-42e7-51bff0414c92 small true
singleton-blobstore/1ff12183-50a4-4441-8465-f99a94e2f4f8 running z3 10.244.0.133 63accf13-54c1-46dd-5737-6b313315ce58 small true
tcp-router/2e60d7f9-0151-4dea-a16a-cb71b6a66cb8 running z2 10.244.0.136 62043ed8-9fe5-4b7f-425c-51f14a44bf69 minimal true
uaa/8d878b38-6713-40e3-8178-bed09b3dbbbc running z2 10.244.0.132 0409eaf5-71c2-401c-57c3-35c5644e6f54 default true
15 vms
Succeeded
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/paasta-deployment$
releases는 별도 과정으로 진행함
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/paasta-deployment$ bosh instances
Using environment '192.168.50.51' as client 'admin'
Task 36. Done
Deployment 'paasta'
Instance Process State AZ IPs
adapter/a03af8aa-155d-4717-8b8f-59be4e7c3516 running z2 10.244.0.129
api/a7655b65-3029-4b19-9f54-96c059ed2bd6 running z2 10.244.0.134
cc-worker/71f8a6d3-4288-45e4-9530-d2165940f2ab running z2 10.244.0.135
credhub/394bf88d-df69-4931-ae33-3b10368148f9 running z2 10.244.0.141
database/bdd43713-4855-4622-b584-dd78d86b2f13 running z3 10.244.0.130
diego-api/a5218272-60d7-418f-a8c1-5ff53e408bc1 running z2 10.244.0.131
diego-cell/3f398ef2-6cfa-48be-a5fa-c2afb46cb919 running z1 10.244.0.139
doppler/7455430c-e43b-43d2-8a69-0c3fe08fae3a running z1 10.244.0.138
log-api/ec498165-5611-4619-959e-827788b66dbd running z2 10.244.0.140
nats/d44bac39-4333-4097-8412-ff7bf6f3bd97 running z1 10.244.0.128
rotate-cc-database-key/108e579b-31c0-48f2-b0ca-e7d4d0fcc638 - z1 -
router/31728a72-74ea-4c0d-b952-c79c4bbdfae2 running z1 10.244.0.34
scheduler/70cb89e2-6b3c-448d-8611-ca7162c58d7a running z2 10.244.0.137
singleton-blobstore/1ff12183-50a4-4441-8465-f99a94e2f4f8 running z3 10.244.0.133
smoke-tests/0feeb4d0-4d59-41e9-89d7-069693608612 - z1 -
tcp-router/2e60d7f9-0151-4dea-a16a-cb71b6a66cb8 running z2 10.244.0.136
uaa/8d878b38-6713-40e3-8178-bed09b3dbbbc running z2 10.244.0.132
17 instances
Succeeded
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/paasta-deployment$
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/paasta-deployment$ bosh -d paasta ssh database
Using environment '192.168.50.51' as client 'admin'
Using deployment 'paasta'
Task 37. Done
Unauthorized use is strictly prohibited. All access and activity
is subject to logging and monitoring.
Welcome to Ubuntu 16.04.5 LTS (GNU/Linux 4.15.0-54-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
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.
Last login: Tue Jul 23 13:09:54 2019 from 192.168.50.1
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
database/bdd43713-4855-4622-b584-dd78d86b2f13:~$
PaaS-TA App Push Test
cf cli 설치 (Linux)
#1. Add the Cloud Foundry Foundation public key and package repository to your system:
$ wget -q -O - https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | sudo apt-key add -
#2.
$ echo "deb https://packages.cloudfoundry.org/debian stable main" | sudo tee /etc/apt/sources.list.d/cloudfoundry-cli.list
#3. Update your local package index:
$ sudo apt-get update
#4. Install the cf CLI:
$ sudo apt-get install cf-cli
$ cf -v
cf 버전 6.44.1+c3b20bfbe.2019-05-08
(실습)
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/paasta-deployment$ wget -q -O - https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | sudo apt-key add -
[sudo] ubuntu의 암호:
OK
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/paasta-deployment$ echo "deb https://packages.cloudfoundry.org/debian stable main" | sudo tee /etc/apt/sources.list.d/cloudfoundry-cli.list
deb https://packages.cloudfoundry.org/debian stable main
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/paasta-deployment$ sudo apt-get update
기존:1 http://kr.archive.ubuntu.com/ubuntu bionic InRelease
받기:2 http://kr.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
받기:3 http://kr.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
받기:4 http://kr.archive.ubuntu.com/ubuntu bionic-updates/main i386 Packages [563 kB]
받기:5 http://kr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [691 kB]
받기:6 http://kr.archive.ubuntu.com/ubuntu bionic-updates/main Translation-en [254 kB]
받기:7 http://kr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 DEP-11 Metadata [282 kB]
받기:8 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
받기:9 http://kr.archive.ubuntu.com/ubuntu bionic-updates/main DEP-11 48x48 Icons [66.7 kB]
받기:10 http://kr.archive.ubuntu.com/ubuntu bionic-updates/main DEP-11 64x64 Icons [134 kB]
받기:11 http://kr.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [974 kB]
받기:12 http://kr.archive.ubuntu.com/ubuntu bionic-updates/universe i386 Packages [958 kB]
받기:13 http://kr.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 DEP-11 Metadata [250 kB]
받기:14 http://kr.archive.ubuntu.com/ubuntu bionic-updates/universe DEP-11 48x48 Icons [213 kB]
받기:15 http://kr.archive.ubuntu.com/ubuntu bionic-updates/universe DEP-11 64x64 Icons [440 kB]
받기:16 http://kr.archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 DEP-11 Metadata [2,468 B]
받기:17 http://kr.archive.ubuntu.com/ubuntu bionic-backports/universe amd64 DEP-11 Metadata [7,704 B]
받기:19 http://security.ubuntu.com/ubuntu bionic-security/main amd64 DEP-11 Metadata [22.7 kB]
받기:20 http://security.ubuntu.com/ubuntu bionic-security/main DEP-11 48x48 Icons [10.4 kB]
받기:21 http://security.ubuntu.com/ubuntu bionic-security/main DEP-11 64x64 Icons [31.7 kB]
받기:22 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 DEP-11 Metadata [41.3 kB]
받기:23 http://security.ubuntu.com/ubuntu bionic-security/universe DEP-11 48x48 Icons [16.4 kB]
받기:24 http://security.ubuntu.com/ubuntu bionic-security/universe DEP-11 64x64 Icons [111 kB]
받기:25 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 DEP-11 Metadata [2,464 B]
받기:18 https://cf-cli-debian-repo.s3.amazonaws.com stable InRelease [2,665 B]
받기:26 https://cf-cli-debian-repo.s3.amazonaws.com stable/main amd64 Packages [8,813 B]
받기:27 https://cf-cli-debian-repo.s3.amazonaws.com stable/main i386 Packages [8,806 B]
내려받기 5,342 k바이트, 소요시간 4초 (1,277 k바이트/초)
패키지 목록을 읽는 중입니다... 완료
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/paasta-deployment$ sudo apt-get install cf-cli
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다... 완료
다음 새 패키지를 설치할 것입니다:
cf-cli
0개 업그레이드, 1개 새로 설치, 0개 제거 및 248개 업그레이드 안 함.
5,997 k바이트 아카이브를 받아야 합니다.
이 작업 후 22.3 M바이트의 디스크 공간을 더 사용하게 됩니다.
받기:1 https://packages.cloudfoundry.org/debian stable/main amd64 cf-cli amd64 6.46.0 [5,997 kB]
내려받기 5,997 k바이트, 소요시간 2초 (2,435 k바이트/초)
Selecting previously unselected package cf-cli.
(데이터베이스 읽는중 ...현재 188459개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../cf-cli_6.46.0_amd64.deb ...
Unpacking cf-cli (6.46.0) ...
cf-cli (6.46.0) 설정하는 중입니다 ...
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/paasta-deployment$ cf -v
cf 버전 6.46.0+29d6257f1.2019-07-09
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/paasta-deployment$
cf login
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/paasta-deployment$ cf login -a https://api.bosh-lite.com --skip-ssl-validation
API 엔드포인트: https://api.bosh-lite.com
Email> admin
Password> (admin 칠것)
인증 중...
확인
대상 지정된 조직 system
API 엔드포인트: https://api.bosh-lite.com(API 버전: 2.125.0)
사용자: admin
조직: system
영역: 대상 지정된 영역이 없습니다. 'cf target -s SPACE' 명령을 사용하십시오.
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0/deployment/paasta-deployment$
cf create-org
$ cf create-org test-org
$ cf create-space test-space -o test-org
$ cf create-user test test1234
$ cf set-org-role test test-org OrgManager
$ cf set-space-role test test-org test-space SpaceManager
$ cf set-space-role test test-org test-space SpaceDeveloper
(실습)
~/workspace/paasta-4.0$ cf create-org test-org
admin(으)로 test-org 조직 작성 중...
확인
test-org 조직의 admin 사용자에게 OrgManager 역할 지정 중...
확인
팁: 새 조직을 대상으로 지정하려면 'cf target -o "test-org"' 명령을 사용하십시오.
~/workspace/paasta-4.0$ cf create-space test-space -o test-org
admin(으)로 test-org 조직의 test-space 영역 작성 중...
확인
admin(으)로 test-org 조직 / test-space 영역의 admin 사용자에게 SpaceManager 역할을 지정하는 중...
확인
admin(으)로 test-org 조직 / test-space 영역의 admin 사용자에게 SpaceDeveloper 역할을 지정하는 중...
확인
팁: 새 영역을 대상으로 지정하려면 'cf target -o "test-org" -s "test-space"'을(를) 사용하십시오.
~/workspace/paasta-4.0$ cf create-user test test1234
사용자 test 작성 중...
확인
팁: 'cf set-org-role' 및 'cf set-space-role'의 역할을 지정하십시오.
~/workspace/paasta-4.0$ cf set-org-role test test-org OrgManager
admin(으)로 test-org 조직의 test 사용자에게 OrgManager 역할 지정 중...
확인
~/workspace/paasta-4.0$ cf set-space-role test test-org test-space SpaceManager
admin(으)로 test-org 조직/test-space 영역의 test 사용자에게 RoleSpaceManager 역할 지정 중...
확인
~/workspace/paasta-4.0$ cf set-space-role test test-org test-space SpaceDeveloper
admin(으)로 test-org 조직/test-space 영역의 test 사용자에게 RoleSpaceDeveloper 역할 지정 중...
확인
~/workspace/paasta-4.0$
cf login test user
(로그인 테스트)
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0$ cf login
API 엔드포인트: https://api.bosh-lite.com
Email> admin
Password>
인증 중...
확인
조직 선택(또는 Enter를 눌러 건너뜀):
1. system
2. test-org
Org> quit
API 엔드포인트: https://api.bosh-lite.com(API 버전: 2.125.0)
사용자: admin
대상 지정된 조직 또는 영역이 없습니다. 'cf target -o ORG -s SPACE' 명령을 사용하십시오.
실패
quit 조직을 찾는 중에 오류 발생
Organization quit 찾을 수 없음
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0$ cf login
API 엔드포인트: https://api.bosh-lite.com
Email> test
Password> (test1234 입력)
인증 중...
확인
대상 지정된 조직 test-org
대상 지정된 영역 test-space
API 엔드포인트: https://api.bosh-lite.com(API 버전: 2.125.0)
사용자: test
조직: test-org
영역: test-space
ubuntu@ubuntu-virtual-machine:~/workspace/paasta-4.0$
manifest.yml 설정 추가
$ vi manifest.yml
---
applications:
- name: spring-music
memory: 1G
random-route: true
buildpack: java_buildpack
health-check-type: none
path: build/libs/spring-music-1.0.jar
cf push
$ cd ~/workspace/sample/spring-music
$ cf push
ubuntu@ubuntu-virtual-machine:~/workspace/sample/spring-music$ cf apps
test(으)로 test-org 조직/test-space 영역의 앱 가져오는 중...
확인
이름 요청된 상태 인스턴스 메모리 디스크 URL
spring-music started 1/1 1G 1G spring-music-excellent-reedbuck.bosh-lite.com
ubuntu@ubuntu-virtual-machine:~/workspace/sample/spring-music$
[제4일차] PaaS-TA 포탈 및 MSA개발
PaaS-TA는 CloudFoundry 기반
- 유료버전: Pivotal, IBM CF Ent.
Java App과 Redis Service 예제로 생성
[CF CLI]
$ cf -help
$ cf login -a https://api.paas-ta.org --skip-ssl-validation
API endpoint: https://api.paas-ta.org
Email> paasta_trainee10
Password> (trainee10)
Authenticating...
OK
Targeted org trainee10
Targeted space dev
API endpoint: https://api.paas-ta.org (API version: 2.128.0)
User: paasta_trainee10
Org: trainee10
Space: dev
$
$ cf services
Getting services in org trainee10 / space dev as paasta_trainee10...
name service plan bound apps last operation broker upgrade available
tr10_redis redis dedicated-vm tr10_java create succeeded redis-service-broker
TIP: Please upgrade to CC API v2.138.0 or higher for individual service upgrades
$ cf apps
Getting apps in org trainee10 / space dev as paasta_trainee10...
OK
name requested state instances memory disk urls
tr10_java started 1/1 1G 1G tr10java.paas-ta.org
$
$ cf marketplace
Getting services from marketplace in org trainee10 / space dev as paasta_trainee10...
OK
service plans description broker
Mysql-DB Mysql-Plan1-10con, Mysql-Plan2-100con A simple mysql implementation mysql-service-broker
CubridDB utf8, euckr A simple cubrid implementation cubrid-service-broker
container-service Micro, Small, Advanced For Container Service Plans, You can choose plan about CPU, Memory, disk. container-service-broker
glusterfs glusterfs-5Mb, glusterfs-100Mb, glusterfs-1000Mb A simple glusterfs implementation glusterfs-service-broker
Mongo-DB default-plan A simple mongo implementation mongodb-service-broker
p-rabbitmq standard RabbitMQ is a robust and scalable high-performance multi-protocol messaging broker. rabbitmq-service-broker
redis shared-vm, dedicated-vm Redis service to provide a key-value store redis-service-broker
p-paasta-sourcecontrol Default A paasta source control service for application development.provision parameters : parameters {owner : {owner}, org_name : {org_name}} scm-service-broker
delivery-pipeline-v2 delivery-pipeline-shared, delivery-pipeline-dedicated A paasta source control service for application development.provision parameters : parameters {owner : owner} delivery-pipeline
TIP: Use 'cf marketplace -s SERVICE' to view descriptions of individual plans of a given service.
$
MSA 기반 앱개발 테스트
[manifest.yml]
---
applications:
- name: rest-ui-test
memory: 768M
host: tr10_rest-ui-test --> tr10 으로 해야 에러 안남
path: ./target/RestUI.war
buildpack: java_buildpack
env:
JAVA_OPTS: -Djava.security.egd=file:///dev/urandom
C:\GARFTECH\PaaS-TA\PaaS-TA-app개발_rest_app\RestUI>cf push
Pushing from manifest to org trainee10 / space dev as paasta_trainee10...
Using manifest file C:\GARFTECH\PaaS-TA\PaaS-TA-app개발_rest_app\RestUI\manifest.yml
Deprecation warning: Specifying app manifest attributes at the top level is deprecated. Found: env.
Please see https://docs.cloudfoundry.org/devguide/deploy-apps/manifest-attributes.html#deprecated for alternatives and other app manifest deprecations. This feature will be removed in the future.
Using manifest file C:\GARFTECH\PaaS-TA\PaaS-TA-app개발_rest_app\RestUI\manifest.yml
Creating app rest-ui-test in org trainee10 / space dev as paasta_trainee10...
OK
Creating route tr10_rest-ui-test.paas-ta.org...
OK
Binding tr10_rest-ui-test.paas-ta.org to rest-ui-test...
OK
Uploading rest-ui-test...
Uploading app files from: C:\Users\osstem\AppData\Local\Temp\unzipped-app250391939
Uploading 3.1K, 13 files
Done uploading
OK
Starting app rest-ui-test in org trainee10 / space dev as paasta_trainee10...
Downloading java_buildpack...
Downloaded java_buildpack
Cell a256f43a-611e-4fd7-bc7a-ab928c855f9e creating container for instance 79d7a84c-9c44-46f5-b8fe-2b381e130fa7
Cell a256f43a-611e-4fd7-bc7a-ab928c855f9e successfully created container for instance 79d7a84c-9c44-46f5-b8fe-2b381e130fa7
Downloading app package...
Downloaded app package (84.7K)
-----> Java Buildpack v4.16.1 | https://github.com/cloudfoundry/java-buildpack.git#41b8ff8
-----> Downloading Jvmkill Agent 1.16.0_RELEASE from https://java-buildpack.cloudfoundry.org/jvmkill/trusty/x86_64/jvmkill-1.16.0-RELEASE.so (0.3s)
-----> Downloading Open Jdk JRE 1.8.0_222 from https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-jre-1.8.0_222-trusty.tar.gz (0.9s)
Expanding Open Jdk JRE to .java-buildpack/open_jdk_jre (1.3s)
JVM DNS caching disabled in lieu of BOSH DNS caching
-----> Downloading Open JDK Like Memory Calculator 3.13.0_RELEASE from https://java-buildpack.cloudfoundry.org/memory-calculator/trusty/x86_64/memory-calculator-3.13.0-RELEASE.tar.gz (0.3s)
Loaded Classes: 8155, Threads: 250
-----> Downloading Client Certificate Mapper 1.8.0_RELEASE from https://java-buildpack.cloudfoundry.org/client-certificate-mapper/client-certificate-mapper-1.8.0-RELEASE.jar (5.1s)
-----> Downloading Container Security Provider 1.16.0_RELEASE from https://java-buildpack.cloudfoundry.org/container-security-provider/container-security-provider-1.16.0-RELEASE.jar (0.1s)
-----> Downloading Tomcat Instance 8.5.43 from https://java-buildpack.cloudfoundry.org/tomcat/tomcat-8.5.43.tar.gz (0.3s)
Expanding Tomcat Instance to .java-buildpack/tomcat (0.1s)
-----> Downloading Tomcat Access Logging Support 3.3.0_RELEASE from https://java-buildpack.cloudfoundry.org/tomcat-access-logging-support/tomcat-access-logging-support-3.3.0-RELEASE.jar (0.2s)
-----> Downloading Tomcat Lifecycle Support 3.3.0_RELEASE from https://java-buildpack.cloudfoundry.org/tomcat-lifecycle-support/tomcat-lifecycle-support-3.3.0-RELEASE.jar (5.1s)
-----> Downloading Tomcat Logging Support 3.3.0_RELEASE from https://java-buildpack.cloudfoundry.org/tomcat-logging-support/tomcat-logging-support-3.3.0-RELEASE.jar (0.1s)
Exit status 0
Uploading droplet, build artifacts cache...
Uploading droplet...
Uploading build artifacts cache...
Uploaded build artifacts cache (49.1M)
Uploaded droplet (48.1M)
Uploading complete
Cell a256f43a-611e-4fd7-bc7a-ab928c855f9e stopping instance 79d7a84c-9c44-46f5-b8fe-2b381e130fa7
Cell a256f43a-611e-4fd7-bc7a-ab928c855f9e destroying container for instance 79d7a84c-9c44-46f5-b8fe-2b381e130fa7
Cell a256f43a-611e-4fd7-bc7a-ab928c855f9e successfully destroyed container for instance 79d7a84c-9c44-46f5-b8fe-2b381e130fa7
1 of 1 instances running
App started
OK
App rest-ui-test was started using this command `JAVA_OPTS="-agentpath:$PWD/.java-buildpack/open_jdk_jre/bin/jvmkill-1.16.0_RELEASE=printHeapHistogram=1 -Djava.io.tmpdir=$TMPDIR -Djava.ext.dirs=$PWD/.java-buildpack/container_security_provider:$PWD/.java-buildpack/open_jdk_jre/lib/ext -Djava.security.properties=$PWD/.java-buildpack/java_security/java.security $JAVA_OPTS -Daccess.logging.enabled=false -Dhttp.port=$PORT" && CALCULATED_MEMORY=$($PWD/.java-buildpack/open_jdk_jre/bin/java-buildpack-memory-calculator-3.13.0_RELEASE -totMemory=$MEMORY_LIMIT -loadedClasses=9445 -poolType=metaspace -stackThreads=250 -vmOptions="$JAVA_OPTS") && echo JVM Memory Configuration: $CALCULATED_MEMORY && JAVA_OPTS="$JAVA_OPTS $CALCULATED_MEMORY" && MALLOC_ARENA_MAX=2 JAVA_OPTS=$JAVA_OPTS JAVA_HOME=$PWD/.java-buildpack/open_jdk_jre exec $PWD/.java-buildpack/tomcat/bin/catalina.sh run`
Showing health and status for app rest-ui-test in org trainee10 / space dev as paasta_trainee10...
OK
requested state: started
instances: 1/1
usage: 768M x 1 instances
urls: tr10_rest-ui-test.paas-ta.org
last uploaded: Thu Jul 25 04:51:13 UTC 2019
stack: cflinuxfs2
buildpack: java_buildpack
state since cpu memory disk details
#0 running 2019-07-25 01:52:28 PM 0.0% 0 of 768M 0 of 1G
C:\GARFTECH\PaaS-TA\PaaS-TA-app개발_rest_app\RestUI>
C:\>cf create-service Mysql-DB Mysql-Plan2-100con tr10_mysql_db
Creating service instance tr10_mysql_db in org trainee10 / space dev as paasta_trainee10...
OK
C:\GARFTECH\PaaS-TA\PaaS-TA-app개발_rest_app\RestUI>
C:\GARFTECH\PaaS-TA\PaaS-TA-app개발_rest_app\RestUI>cf ssh rest-ui-test
vcap@ddc586f2-bda9-459c-56d1-5c12:~$ ls
app deps logs profile.d staging_info.yml tmp
vcap@ddc586f2-bda9-459c-56d1-5c12:~$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 04:52 ? 00:00:00 /tmp/garden-init
vcap 7 0 0 04:52 ? 00:00:00 /tmp/lifecycle/diego-sshd --allowedKeyExchanges= --address=0.0.0.0:2
vcap 14 0 0 04:52 ? 00:00:03 /home/vcap/app/.java-buildpack/open_jdk_jre/bin/java -Djava.util.log
root 88 0 0 04:52 ? 00:00:00 /etc/cf-assets/healthcheck/healthcheck -port=8080 -timeout=1000ms -l
vcap 104 7 0 05:07 pts/0 00:00:00 /bin/bash
vcap 115 104 0 05:08 pts/0 00:00:00 ps -ef
vcap@ddc586f2-bda9-459c-56d1-5c12:~$
vcap@ddc586f2-bda9-459c-56d1-5c12:~$ cd ..
vcap@ddc586f2-bda9-459c-56d1-5c12:/home$ ls
vcap
vcap@ddc586f2-bda9-459c-56d1-5c12:/home$ cd ..
vcap@ddc586f2-bda9-459c-56d1-5c12:/$ ls
app bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
vcap@ddc586f2-bda9-459c-56d1-5c12:/$ cd ..
vcap@ddc586f2-bda9-459c-56d1-5c12:/$ pwd
/
vcap@ddc586f2-bda9-459c-56d1-5c12:/$
[IDE 연동] CF Plugin 제공해야함
[SCM]
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
[0x7FF9840E3AC0] ANOMALY: meaningless REX prefix used
[0x7FF9845AE8F0] ANOMALY: use of REX.w is meaningless (default operand size is 64)
[0x7FF9845AEBF0] ANOMALY: use of REX.w is meaningless (default operand size is 64)
[0x7FF9844D5C80] ANOMALY: use of REX.w is meaningless (default operand size is 64)
PS C:\GARFTECH\PaaS-TA\PaaS-TA-app개발_rest_app\RestUI> git remote add origin http://paasta_trainee10@45.248.73.55:8084/scm/git/GitRepoTr10nee10@45.248.73.55:8084/scm/git/GitRepoTr10
PS C:\GARFTECH\PaaS-TA\PaaS-TA-app개발_rest_app\RestUI>
[제5일차]