Upgrade to Pro — share decks privately, control downloads, hide ads and more …

VMwareで作ったIaaSにAnsible Towerを導入した話

sky_joker
April 18, 2019

VMwareで作ったIaaSにAnsible Towerを導入した話

Ansible Night in Tokyo 2019.04の発表資料です

https://ansible-users.connpass.com/event/125609/

sky_joker

April 18, 2019
Tweet

More Decks by sky_joker

Other Decks in Technology

Transcript

  1. VMwareIaaS
    Ansible Tower

    Ansible Night in Tokyo 2019.04

    View Slide


  2. 01. Ansible Tower!
    05. Ansible Tower!
    04. '

    03. %(#"(#
    02. $(&

    View Slide

  3. ---
    - 2
    #"/(2 @sky_jokerxx

    2 IT
    2 $.")!/,.
    +-2
    - Ansible
    - OpenShift0%/'*1
    2
    - .&$

    View Slide

  4. AnsibleRaspberry Pi
    4

    View Slide


  5. 5

    View Slide


  6. View Slide


  7. View Slide

  8. IaaS$"VMware
    OpenStack$JT %

    GF C-)'02
    E IaaS$8"5"W
    %
    OSSA
    OpenStack"
    ISLH
    OSP
    @65BVMware$9

    %
    &3,(.+/3M
    " #$:RP
    4OWW
    UKRP >D
    V !N<=
    ?
    N<=*317
    XJTIQ W
    %
    ;
    Start automation journey!

    View Slide

  9. ('
    /%-,;?A9N37&$=M?H "
    ;?4
    "

    01
    64VURO06JMAQYZU=M]
    UR66M
    *1EW\[_V_O=MD;
    ?4;;@I=8L>MK5D;?4
    .
    02
    /%E5W1HCBO)#;?4
    )#`T^XPS)#aI;?4
    /%)#
    03
    DeepCF3!
    O;@CMG7

    O:>?7C4
    2O!
    ;?4
    !

    04
    + ;?49A

    View Slide

  10. ixsL#RGl^m^M$'T
    • %HCGEFHH?XAI
    • Go
    • Python
    • SOAP/REST API
    • pyvmomi/govmomi
    • /2L,VYE@K>"C75
    • dxk>*&H?XGitHub/GitLab
    KJI5>H?XAI
    • Web API!.>BYGI
    • 7ixs(ZabbixKJ)IAPI
    5>H?XAI
    • ucZ7O
    CElasticsearch
    TSplunkKJL W4[H0
    CE<
    DM
    • _whxor]gMeqxj>"C
    • `ptxhxHSH?XU=L
    UI>"C<
    • \a^wj*&Tuxs ;1
    3uc>"C<
    • vxbnux>WE<
    • 8>• 9CE<
    • 6'-HS:(H?XU=;KXP
    @fwosK+Q>"C<

    View Slide


  11. vRealize Orchestrator vs Ansible Tower

    View Slide

  12. 8 zŒˆa+A6'#Ž
    !}o~oa,0
    GitHub/GitLabC
    Web API
    UI
    ‰tC
    vRealize Orchestrator
    (vRO)
    Ansible Tower
    TOOL
    I2
    mqo‹{3/J‰ŒˆJ>@‰t
    ŠŒs€‰Œa
    D
    F
    v‹ˆ
    p‹yŒ†nxu‚Œ{
    vRObJava/Javascript\=BUi;OKi
    Ansible\KjcPython\„w…ŒˆOji
    ).\GitC\PiabAnsible TowerXZW
    Web APIb KZW
    UIb `KZWOJvRObJavam‡\Qs†nm‹{XZW
    "%? Sj[LiabAnsible TowerXRXZW
    vRO\e &_Q_LO).\b_L
    Ansible Towerb).\KZW
    *7f9‰t=E_^ `KZW
    ŠŒs€‰Œb `KZW
    WXJvRObŠŒs€‰Œ\-Ua4R]NOH…
    AnsibleaDa O1`L
    vROb_Q‹|ˆSj[Li|r…ƒ‹{e
    Nh`QNZW…
    Ansible Towerb).\F(O\PWDBŽ
    vRObVMwareaAPI]javascriptl/Ansible\KjcYAML\M„w…Œˆl5dkV[$Ri
    ^Yge0:_a\u‚Œ{Kh

    View Slide

  13. IaaS

    "#
    VMware/NSX"#
    !Linux/ "#
    "#
    ESXi

    View Slide

  14. Ansible Tower + VMware(NSX) + )"&(*
    • Edge!$'
    • Edge
    • IP/vNIC
    • FW
    • LB
    • NAT
    • BGP
    • %((



    • %((!$'
    • %((
    • IP/vNIC
    • Edge




    • VM!$'




    • QoS
    • # $

    • %((

    View Slide


  15. 15



    API


    View Slide

  16. :A€7)
    "Yiw|G FRSlsG#Ie$G;KSDOO_?@_gKOGBMfNf =Gg IOd 2G5PRO
    • pwrjkhiqwkogaeBAnsiblezn{}eBPlaybook#H
    • PythonYKS`cRO
    • AnsibleTVMwarezn{}g>,Le $`RS^OƒdFI„ http://ur0.biz/QPOk
    "YAnsible2.3T%8gKSDOO_BVMwareaor~nzn{}YbdVHmvoWE`X`VFRO
    ]OBVMwareXNSXYNSX-TZ-4LeO_NSX-Vzn{}>,G[\ (KSDO
    • ;dVDVMwareaor~nzn{}Y]TXtjujgW>,LeJUWKO
    • NSX-Vzn{}Ymvo
    GNSX-TW-4Le]T3 OQTLe6gKO
    • NSX-Vzn{}: http://ur0.biz/S3rk NSX-Tzn{}: http://ur0.biz/gwtz
    !XW!g1KO`XgAWX(")XWeb API/+T*KS4KODUDE5GCRO
    JfY0&uyROXT9.Y'XxnFc‚‚
    $A
    zn{}A
    Extra VarsA

    View Slide



  17. Playbook(main.yml)
    ---
    - name: Variable expansion test
    hosts: localhost
    gather_facts: no
    tasks:
    - set_fact:
    output: Hello, World!!
    - debug: msg="{{ msg }}"
    PLAY [Variable expansion test] *******
    TASK [set_fact] ******
    ok: [localhost]
    TASK [debug] ********************
    ok: [localhost] => {
    "msg": "Hello, World!!"
    }
    PLAY RECAP *********************
    localhost : ok=1 changed=0
    unreachable=0 failed=0
    $ ansible-playbook main.yml -e
    '{"msg": "{{ output }}"}'

    View Slide

  18. $ Web API(AWX)&%#&….
    *01-

    $ tower-cli job launch -h localhost -u
    admin -p redhat -J test -e '{"msg":
    "{{ output }}"}' --insecure
    .)
    '
    !AWX($+/2
    ,!"3 !4
    http://u0u0.net/SrH5

    View Slide



  19. Playbook(main.yml)
    http://u0u0.net/C9wl
    ---
    - name: Variable expansion test
    hosts: localhost
    gather_facts: no
    tasks:
    - set_fact:
    output: Hello, World!!
    - debug: msg="{{ msg |
    set_ansible_vars(output) }}"

    View Slide

  20. Ansible Tower + GitLab + Linux

    GitLab
    SFQPTJUPSZ
    ᵓᴷᴷIPTU@WBST
    ᴹ ᵓᴷᴷIPTU@B
    ᴹ ᵋᴷᴷIPTU@C
    ᵓᴷᴷSPMFT
    ᴹ ᵓᴷᴷDPNNPO
    ᴹ ᴹ ᵋᴷᴷPTTFUVQ
    ᴹ ᵋᴷᴷXFC@TFSWFST
    ᴹ ᵓᴷᴷBQBDIF
    ᴹ ᵋᴷᴷJQUBCMFT
    ᵋᴷᴷXFC@TFSWFSTZNM
    Linux
    /

    • ͩΕ͕ɺ͍ͭɺͳʹΛʢͲͷϑΝΠ
    ϧΛʣɺͲ͏͍ͬͨ໨తͰ௥Ճɾม
    ߋɾ࡟আͯ͠ɺ͍࣮ͭߦ༧ఆͳͷ͔
    • (JU-BC$*ͷ݁Ռ

    • ͩΕ͕ɺ͍ͭɺԿʹରͯ͠ɺԿΛ࣮
    ߦ͠ɺ݁ՌͲ͏ͳ͔ͬͨ
    • ࣌ܥྻʹه࿥͞ΕΔͨΊใࠂॻॻ͘
    ࣌ʹศར

    View Slide


  21. 21

    origin





    CI


    Linux /



    View Slide

  22. 07x.%

    TJP@LNPK8$&k^uclsVo\_tPu_]`l[M;CZR::<4IH
    • SDQ8AnsiblePqglprcj^g[qygO http://ur0.biz/2uEW
    • lr_]tx]wmxbry[*X3BN=W1x$BJ:IH
    PlaybookP#haicQVIJ:H=8M/WNMPewo^dx '/SK=IJNH…
    • GitLab CILDocker[BJUWIH
    • FZGZ[ ?JjglzCI{[IJUWIH
    AWXxAnsible Tower[CYQ"Kfyn[IJ:HHT8"KIHUP[+ OAEY-=9IH
    • [OBJ5OPlaybookVvyt[IH
    • IHO6BJ+ OAEH
    u_]`l7
    CIM;CZR::7
    "#)(,7

    View Slide

  23. Ansible Tower + Zabbix

    ESXi





    View Slide

  24. • AnsibleFPlaybookR!C=P;CB4'ZTfa\R@AZabbixWl^LaiSXE6
    • ZabbixG4Ansible TowerF[kahl\I>GjlT_ilR)=PVbk]?:R%2=P0#EB8PFBG
    • 1F#EMO"7QPFBGD56
    • IBG)iUGZTfa\B*74!cYdlgBYe`7QQHAnsible TowerEiUG' B
    P>J3$.(77PFBGD56
    • <>FF
    O :K+26N-B8P6K*F!C/
    ,&D)iU

    View Slide

  25. Ansible Tower + Zabbix
    25
    http://ur0.biz/Vmoy

    View Slide


  26. Ansible Tower
    26





    ( CloudForms ManageIQ

    View Slide

  27. Ansible TowerBCP

    DC_1
    ESXi
    Tenant A Tenant B
    DCNW
    DC_2
    ESXi
    Tenant A Tenant B
    DCNW



    View Slide

  28. Ansible Tower

    "AL&?]5,6;[x2%^9(9-(J4IO

    28
    "!@)I

    *E,#0W/$
    \
    ZHSVPython'FPlaybook(YAML)1=KFA7KF
    GitLab'F3QAnsible TowerBD,

    BD,
    \
    Ansible Tower 3Q <:

    UM3Q
    ;[N>P+ C %[.6R


    XG6RTYP+ .5
    \

    View Slide

  29. Ansible Tower

    HB5(6:81#8*:LA@O=MQ"PK


    GDFUV
    Ansible'2:-+:4? IE
    <T; WX
    '2:-? V
    AnsibleAnsible Jupyter KernelC&:. /%1#,$)5
    (6:8JNR>PR!S3:(
    &9-706:-V

    View Slide


  30. Ansible

    View Slide

  31. Thank you For listening
    https://twitter.com/sky_jokerxx
    https://qiita.com/sky_jokerxx
    https://sky-joker.tech
    https://github.com/sky-joker
    @sky_jokerxx

    View Slide