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

Kubernetesのイメージタグの更新を楽にするツールを作った / p1ass/mikku - make updating Kubernetes image tags easier

ぷらす
December 08, 2019

Kubernetesのイメージタグの更新を楽にするツールを作った / p1ass/mikku - make updating Kubernetes image tags easier

GDG DevFest OSAKA 2019 の懇親会でLTした時のスライドです。

Twitter : https://twitter.com/p1ass
GitHub ; https://github.com/p1ass

ぷらす

December 08, 2019
Tweet

More Decks by ぷらす

Other Decks in Technology

Transcript

  1. ,VCFSOFUFTͷΠϝʔδλάͷ
    ߋ৽Λָʹ͢ΔπʔϧΛ࡞ͬͨ
    ؛ ௚ً !QBTT

    (%(%FW'FTU 0TBLB࠙਌ձ -5

    View Slide

  2. ࣗݾ঺հ
    • ؛ ௚ً
    • 5XJUUFS (JU)VC!QBTT
    • ژ౎େֶ #
    • $".1)03 ӡӦ
    • ϦϯάϑΟοτΞυϕϯνϟʔ

    View Slide

  3. View Slide

  4. Ϟνϕʔγϣϯ

    View Slide

  5. લఏ ,VCFSOFUFTͷӡ༻ํ๏
    • झຯͰ(,&Λӡ༻
    • ݸਓ։ൃͷ8FCαʔϏεͳͲΛ༷ʑಈ͔͍ͯ͠Δ
    • ϚχϑΣετϑΝΠϧ͸ͭͷϦϙδτϦͰ؅ཧ
    • ίʔυ͸ผͷϦϙδτϦͰ؅ཧ
    • ͳΔ΂͘γϯϓϧʹӡ༻ )FMNͳͲ͸ೖΕ͍ͯͳ͍

    • $JSDMF$*ͰΠϝʔδͷϏϧυ΍LVCFDUM BQQMZ
    Ϟνϕʔγϣϯ

    View Slide

  6. Πϝʔδͷߋ৽͕ͩΔ͍
    Ϟνϕʔγϣϯ

    View Slide

  7. $IBOHFMPHΛॻ͘ͷ͕ͩΔ͍
    • λάΛ੾Δͨͼʹ(JU)VC3FMFBTFΛ࡞੒
    • $IBOHFMPHΛखͰॻ͘ͷ͕໘౗
    • ηϚϯςΟοΫόʔδϣχϯάͷ࣍ͷόʔδϣϯΛ಄Ͱܭࢉ
    • ࡉ͔͍#VH'JYͷϦϦʔε͕ଓ͘ͱਏΈ͕૿͢
    Ϟνϕʔγϣϯ

    View Slide

  8. QBTTNJLLV

    View Slide

  9. NJLLV͕ग़དྷΔ͜ͱ
    • %PDLFSΠϝʔδͷλάΛ৽͍͠΋ͷʹॻ͖׵͑Δ13Λ࡞੒
    • όʔδϣϯΛ্͛Δ(JU)VC3FMFBTFΛ$IBOHFMPH෇͖Ͱ࡞੒
    QBTTNJLLV

    View Slide

  10. Πϯετʔϧ
    • HPHFU
    • (JU)VC3FMFBTF͔ΒόΠφϦΛམͱ͢
    QBTTNJLLV
    $ GO111MODULE=off go get github.com/p1ass/mikku/cmd/mikku
    $ VERSION=0.2.0
    $ curl -O –L
    https://github.com/p1ass/mikku/releases/download/v${VERSION}/mikku_${VERSION}_dar
    win_amd64.tar.gz
    $ tar -zxvf mikku_${VERSION}_darwin_amd64.tar.gz
    $ chmod a+x mikku
    $ mv mikku /usr/local/bin/mikku

    View Slide

  11. ࣄલ४උ ؀ڥม਺Ληοτ
    QBTTNJLLV
    $ export MIKKU_GITHUB_ACCESS_TOKEN=[YOUR_ACCESS_TOKEN]
    $ export MIKKU_GITHUB_OWNER=[GITHUB_OWNER_NAME]
    (JU)VCͷ1FSTPOBM"DDFTT5PLFOΛऔಘ͓ͯ͘͠

    View Slide

  12. NJLLV QS ίϚϯυ
    ࠷৽ͷλάʹॻ͖׵͑Δ13Λ࡞੒
    QBTTNJLLV
    $ export MIKKU_MANIFEST_REPOSITORY=sample-manifest-repository
    $ export MIKKU_MANIFEST_FILEPATH= {{.Repository}}/deployment.yml
    $ export MIKKU_DOCKER_IMAGE_NAME={{.Owner}}/{{.Repository}}
    $ mikku pr sample-repository

    View Slide

  13. εΫϦʔϯγϣοτ
    QBTTNJLLV

    View Slide

  14. ྑ͞ΈϙΠϯτ
    ઃఆʹςϯϓϨʔτΛ࢖༻Ͱ͖Δ (PͷUFYUUFNQMBUF

    Ұఆͷ໋໊نଇͰϑΝΠϧύε΍Πϝʔδͷ໊લ͕ܾ·͍ͬͯΔ
    ˣ
    Ұ౓؀ڥม਺Ληοτ͢Ε͹࢖͍·Θ͕͠Ͱ͖Δ
    QBTTNJLLV
    $ export MIKKU_MANIFEST_FILEPATH={{.Repository}}/deployment.yml
    $ export MIKKU_DOCKER_IMAGE_NAME={{.Owner}}/{{.Repository}}

    View Slide

  15. NJLLV SFMFBTFίϚϯυ
    • QBUDIWˠW
    • NJOPSWˠW
    • NBKPSWˠW
    • όʔδϣϯࢦఆ΋Մೳ
    QBTTNJLLV
    $ mikku release sample-repository patch

    View Slide

  16. εΫϦʔϯγϣοτ
    QBTTNJLLV

    View Slide

  17. ࠓޙ΍Γ͍ͨ͜ͱ

    View Slide

  18. 4MBDL#PU
    • 4MBDL#PUʹ͢Ε͹ଞͷ։ൃऀͰ΋࢖͑ΔΑ͏ʹͳΔ
    • ΠϯλʔϯઌͰ͜ͷΑ͏ͳػೳͷ#PU͕͍ͨ
    • ίϚϯυΦϓγϣϯͳͲ͸ͦͷ··࢖༻Մೳ
    • ͜Εͷҝʹ؀ڥม਺ͰઃఆΛࢦఆͰ͖ΔΑ͏ʹͨ͠

    ࠓޙ΍Γ͍ͨ͜ͱ

    View Slide

  19. QBTTNJLLV

    View Slide

  20. 5IBOLZPVGPSMJTUFOJOH
    5XJUUFS!QBTT
    (JU)VCQBTT

    View Slide