$30 off During Our Annual Pro Sale. View Details »

ansible_kumamoto_PyCon9ku

 ansible_kumamoto_PyCon9ku

インフラエンジニアの急激なansibleバージョンアップ対応/熊本温泉案内

koedoyoshida

January 22, 2022
Tweet

More Decks by koedoyoshida

Other Decks in Programming

Transcript

  1. インフラエンジニアの急 激なansibleバージョン アップ対応/熊本温泉案内 Twitter:koedoyosihda #PyCon9ku

  2. None
  3. お前誰よ サイバートラスト株式会社 MIRACLE LINUX サポート/OSS委員長等 Python Software Foundation Managing members

    2021- 一般社団法人PyCon JP Association 理事 PyCon JP 2021 会計 PyCon JP 2014(APAC)-2021 Staff PyCon JP 2017-2019 Chair Open Source Summit Japan (OSSJ,旧Linux Con)Staff 2008-
  4. 仕事と趣味 サイバートラスト株式会社 所属、MIRACLE LINUX の製品サポート などを行っている。 小江戸らぐ、東京エリアDebian勉強会 などの OSSコミュニティ活動にも参加している。 趣味は温泉巡り、OSCやカンファレンスに参加した際にもよく現地の

    温泉に行く、2018年は蒲田黒湯、箱根温泉、埼玉宮沢湖温泉、長野 大柴温泉、名古屋三蔵温泉、大阪住之江温泉、石川湯涌温泉、松山道 後温泉、台湾北投温泉、シンガポール湯の森温泉などに訪問した。 twitter @koedoyoshida
  5. 温泉のおすすめ 熊本県は温泉が豊富です。 おすすめ,天草:湯楽亭 blog要チェック

  6. 平山温泉、山鹿温泉

  7. ふもと旅館(日本秘湯を守る会)など黒川温泉

  8. 黒川温泉湯めぐり • 良い温泉が沢山ある高級温泉地 • 24軒以上の温泉宿、すべてめぐると • 湯めぐり達人認定(2013/11)

  9. 閑話休題

  10. Pythonとの関わり python自体はzope(zwiki)で社内サイトを作ったあたりからの使用者 仕事はインフラエンジニア的な関わりがメイン ansibleでのインフラ構築や自動テストでymlを書く等 PyCon JP(2015あたり)でansibleを知って使い始めた

  11. ansibleのバージョンアップが激しい 少し前までのansibleのバージョン 2.x 最新は?

  12. ansibleのバージョンアップが激しい 少し前までのansibleのバージョン 2.x 最新はansible 5.2 https://pypi.org/project/ansible/#history どんどん以前の書き方がobsoleteになっていく 5.2.0 Jan 13,

    2022 5.0.1 Dec 3, 2021 4.10.0 Dec 15, 2021 4.0.0 May 19, 2021 3.4.0 May 12, 2021 2.10.7 Feb 10, 2021 2.0.0 Sep 4, 2015
  13. 環境ごとに微妙に異なる実行環境 環境ごとに微妙に使用しているモジュールが違う ANSIBLE GALAXYなどから導入されるモジュール keywordの更新(obsoleteになるものと新規定義されるもの) 新旧どちらでも動くようにymlを管理するのは大変面倒 pip install ansible==2.10.7

  14. 以前に書いたansibleのymlを利用するには ansibleの実行環境を維持(再構築)しよう ansibleはpythonで作成され、pipでインストールできる つまり、pythonのバージョンとansibleのバージョンが同じなら その実行環境で以前に書いたansibleのymlが再利用できる OS標準のPythonやpipを使うとその環境の再現にはOS再インストー ルから必要になってしまう... おすすめはOS独立で環境を固定、再構築しやすくする->venv

  15. OS独立で環境を固定、再構築しやすくする pythonのバージョンの固定 欲しいバージョン(ansible等の要件)の公式インストーラ pythonをダウンロード&ローカルでビルド 例:pypi.org/project/ansible/2.10.7/ $ sudo make altinstall ansibleのバージョンの固定

    ビルドしたpythonで作ったvenv(サブディレクトリ)内にインストール $ python3.9 -m venv envpython3.9-ansible2.10.7 $ . envpython3.9-ansible2.10.7/bin/activate $ pip install ansible==2.10.7 pypiをみれば必要な情報が分かる envの名前で主要バージョンが分かるようにすると便利
  16. OSとPythonの微妙な関係 OSパッケージのPythonを使わない理由 pythonに限った話ではなく、言語系パッケージに共通する話 • OSパッケージのPythonやpipを使うとその環境の再現にはOS再イ ンストールから必要になってしまう... • 他の(開発環境以外の)実行環境に持っていけなくなる • OSパッケージのpython等はOSに含まれるpython製のアプリケー

    ションパッケージを動かすための環境。自作アプリ用ではない(私 見) • パッケージ提供の言語やpipバージョンが古いなど気に入らないと ころがあってそれを修正すると... • OS提供のパッケージの動作に問題がでる • システム設定系のモジュールがPythonで書かれていたりする...
  17. OS付属のpython MIRACLE LINUX8/CentOS8/RockeyLinux8/AlmaLinux8/Red Hat Enterprise Linux 8 などインストール直後のデフォルト状態では "python" コマンドが存在しません。

    • platform-python: OSに同梱の各種システムツールが利用するた めのPython。実行ファイルは /usr/libexec/platform-python に インストールされ、ユーザのプログラムで利用することは推奨され ない。 • python3: 8世代の標準的なPythonは3.x、xは随時変更されます。 • dnf --showduplicates list | grep python3 • python2:EOLだが、現状インストールは可能 • dnf --showduplicates list python2