Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

お前誰よ サイバートラスト株式会社 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-

Slide 4

Slide 4 text

仕事と趣味 サイバートラスト株式会社 所属、MIRACLE LINUX の製品サポート などを行っている。 小江戸らぐ、東京エリアDebian勉強会 などの OSSコミュニティ活動にも参加している。 趣味は温泉巡り、OSCやカンファレンスに参加した際にもよく現地の 温泉に行く、2018年は蒲田黒湯、箱根温泉、埼玉宮沢湖温泉、長野 大柴温泉、名古屋三蔵温泉、大阪住之江温泉、石川湯涌温泉、松山道 後温泉、台湾北投温泉、シンガポール湯の森温泉などに訪問した。 twitter @koedoyoshida

Slide 5

Slide 5 text

温泉のおすすめ 熊本県は温泉が豊富です。 おすすめ,天草:湯楽亭 blog要チェック

Slide 6

Slide 6 text

平山温泉、山鹿温泉

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

閑話休題

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

環境ごとに微妙に異なる実行環境 環境ごとに微妙に使用しているモジュールが違う ANSIBLE GALAXYなどから導入されるモジュール keywordの更新(obsoleteになるものと新規定義されるもの) 新旧どちらでも動くようにymlを管理するのは大変面倒 pip install ansible==2.10.7

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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の名前で主要バージョンが分かるようにすると便利

Slide 16

Slide 16 text

OSとPythonの微妙な関係 OSパッケージのPythonを使わない理由 pythonに限った話ではなく、言語系パッケージに共通する話 • OSパッケージのPythonやpipを使うとその環境の再現にはOS再イ ンストールから必要になってしまう... • 他の(開発環境以外の)実行環境に持っていけなくなる • OSパッケージのpython等はOSに含まれるpython製のアプリケー ションパッケージを動かすための環境。自作アプリ用ではない(私 見) • パッケージ提供の言語やpipバージョンが古いなど気に入らないと ころがあってそれを修正すると... • OS提供のパッケージの動作に問題がでる • システム設定系のモジュールがPythonで書かれていたりする...

Slide 17

Slide 17 text

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