SlideShare a Scribd company logo
1 of 49
CentOS Linux 8 の EOL と
対応策の検討
OSC2022 Online/Spring
11 Mar 2022
@zembutsu
今日の流れ
• CentOS 8 は EOL 済み
• dnf が扱えないので、 vault リポジトリを参照する設定が必要
• 移行スクリプトのデモをします!
• CentOS 8 はどうしたら?
• 互換性のあるディストリビューションに移行 ( AlmaLinux, Rocky Linux, RHEL 等 )
• 別のディストリビューションに載せ替え ( Debian , Ubuntu 等)
• 諦める。達観の境地
• CentOS に一体何が起こったのか?
• 第3の道(みなさんご興味あれば)
2
CentOS 8 は EOL
3
CentOS 8 は End of Life (EOL)
• 2022年12月31日で EOL
• [2020/12/8] CentOS Project shifts focus to CentOS Stream – Blog.CentOS.org
https://blog.centos.org/2020/12/future-is-centos-stream/
• dnf / yum は使えなくなりました
4
# dnf update
CentOS Linux 8 - AppStream 73 B/s | 38 B 00:00
エラー: repo 'appstream' のメタデータのダウンロードに失敗しました : Cannot prepare internal mirrorlist:
No URLs in mirrorlist
/etc/yum.respos.d/ 以下の書き換え
• 「mirror.centos.org」を「vault.centos.org」に変更する必要
5
# sed -i -r ¥
-e 's!^mirrorlist=!#mirrorlist=!' ¥
-e 's!^#?baseurl=http://(mirror|vault).centos.org/¥$contentdir/¥$releasever/!baseurl=
https://dl.rockylinux.org/vault/centos/8.5.2111/!i' ¥
/etc/yum.repos.d/CentOS-*.repo
# dnf update
補足資料:https://bit.ly/osc22on-centos
CentOS 8 はどうしたら?
6
私たちに残された選択肢 → ディストリビューション転換
1. Red Hat Enterprise Linux 8 を導入する
2. CentOS Stream 8 に移行する ( EOL 2024-05-31 )
3. 他の RHEL 派生ディストリビューションを使う
1. コミュニティ系 ( AlmaLinux 、 Rocky Linux など)
2. MIRACLE Linux、Oracle Linux、VzLinux
4. 他の Linux ディストリビューションに移行する
1. Debian GNU/Linux、Ubuntu、Gentoo 等コミュニティ系
2. openSUSE等
5. この機会にコンテナ化や CloudNative 的な開発・運用を目指す
7
現実問題と向き合う (逃げちゃだめだ)
• 業務で今「動いています」の場合
→RHEL 一択 or 有償サポートサービス ( MIRACLE LINUX, Oracle Linux )
• 開発用途です、個人用です「動けば良いです」の場合
• CentOS 代替ディストリビューション ( 主に RHEL 派生や近い関係 ) を検討
→ SentOS Stream
→ AlmaLinux OS
→ Rocky Linux
→ MIRACLE LINUX
→ Oracle Linux
• 他のディストリビューションを検討
• 死んだふりをする
8
現実問題と向き合う (逃げちゃだめだ)
• 業務で今「動いています」の場合
→RHEL 一択 or 有償サポートサービス ( MIRACLE LINUX, Oracle Linux )
• 開発用途です、個人用です「動けば良いです」の場合
• CentOS 代替ディストリビューション ( 主に RHEL 派生や近い関係 ) を検討
→ SentOS Stream
→ AlmaLinux OS
→ Rocky Linux
→ MIRACLE LINUX
→ Oracle Linux
• 他のディストリビューションを検討
• 死んだふりをする
9
CentOS 8 に対応している移行スクリプト
• 移行スクリプトを使い、CentOS 8 から移行
• CentOS Stream 8
• AlmaLinux OS
• Rocky Linux
• MIRACLE LINUX
• RHEL
• Oracle Linux
10
補足資料:https://bit.ly/osc22on-centos
CentOS 8 に対応している移行スクリプト
• 移行スクリプトを使い、CentOS 8 から移行
• CentOS Stream 8
• AlmaLinux OS
• Rocky Linux
• MIRACLE LINUX
• RHEL
• Oracle Linux
11
補足資料:https://bit.ly/osc22on-centos
CentOS に何が起こったのか?
12
A long long time ago...
• Red Hat Linux 1.0 (1994年11月3日リリース)
13
Red Hat Linux
1.0
A long long time ago...
• Red Hat Linux 1.0 (1994年11月3日リリース)
14
Red Hat Linux
1.0 2.0 3.0 4.0 5.0 6.0 7 8.0 9
A long long time ago...
• Red Hat Linux 1.0 (1994年11月3日リリース)
15
Red Hat Linux
1.0 2.0 3.0 4.0 5.0 6.0 7 8.0 9
Vine Linux
3.0
A long long time ago...
• Red Hat Linux 1.0 (1994年11月3日リリース)
• 2007年2月9日 Fedora Legacy プロジェクト終了
16
Red Hat Linux
1.0 2.0 3.0 4.0 5.0 6.0 7 8.0 9
Vine Linux
3.0
元々の経緯
• Community ENTerprise Operating System (2004年5月14日リリース)
17
RHEL
2.1
CentOS
2.1
元々の経緯
• Community ENTerprise Operating System (2004年5月14日リリース)
• 2007年2月9日 Fedora Legacy プロジェクト終了に伴い CentOS が注目
• CentOS FAQ 日本語版
http://pocketstudio.jp/centos/
18
RHEL
2.1
CentOS
2.1
19
20
8 December 2020
21
22
RHEL
CentOS
23
RHEL
CentOS
RHEL
CentOS Stream
私たちに残された選択肢
24
私たちに残された選択肢 → ディストリビューション転換
1. Red Hat Enterprise Linux 8 を導入する
2. CentOS Stream 8 に移行する ( EOL 2024-05-31 )
3. 他の RHEL 派生ディストリビューションを使う
1. コミュニティ系 ( AlmaLinux 、 Rocky Linux など)
2. MIRACLE Linux、Oracle Linux、VzLinux
4. 他の Linux ディストリビューションに移行する
1. Debian GNU/Linux、Ubuntu、Gentoo 等コミュニティ系
2. openSUSE等
5. この機会にコンテナ化や CloudNative 的な開発・運用を目指す
25
Rocky Linux - Introduction
Rocky Linux とは何か?
• コミュニティをベースにした開発・運用
• CentOS プロジェクト創設者 Gregory Kurtzer 氏が参画
• “Rocky Linux is a community enterprise operating system designed to be
100% bug-for-bug compatible with America's top enterprise Linux
distribution now that its downstream partner has shifted direction. “
• 2021年4月30日 8.3 RC リリース
• 2021年6月21日 8.4 GAリリース
• x86_64 、ARM 版提供中
• https://rockylinux.org/ja/
27
AlmaLinux - Introduction
AlmaLinux とは何か?
• Alma = “魂”
• “An open-source RHEL fork build by the team at CloudLinux,
inspired by the community”
• CloudLinux 社が開発・メンテナンス・スポンサード
• Project Lenix -> Alma Linux
• 4,000 社に CloudLinux OS を提供している経験
• コミュニティに対して、常に無料でオープンソースとして提供
• 2029年までサポートをコミット
• x86_64 、ARM 版提供中
29
AlmaLinux についての情報を手に入れるには?
• 公式サイト
• https://almalinux.org/
• Wiki
• https://wiki.almalinux.org/
• 公式ブログ
• https://almalinux.org/blog/
• Twitter
• https://twitter.com/almalinux
30
コンテナ? Docker?
クラウドネイティヴ対応
第3の道
31
© 2018 Cloud Native Computing Foundation
32 ※ https://github.com/cncf/presentations からの引用
コンテナ クラウド
ネイティブ
仮想化からクラウド・ネイティブへ
From Virtualization to Cloud Native
• クラウド・ネイティブ・コンピューティングはオープンソースの
ソフトウェアを積み重ね、次のために用います:
– アプリケーションをマイクロサービス(microservices)に分割し、
– 各パーツ自身をコンテナにパッケージし、
– リソース利用を最適化するために、動的に統合/
オーケストレート(orchestrate)する
オープン
ソース
IaaS
PaaS
オープン
ソース
PaaS
仮想化
2000 2001 2006 2009 2010 2011
非仮想化
ハードウェア
2013 2015
IaaS
33
“Dockerは銀の弾丸ではない”
• 前提として、Dockerは(いわゆる)「仮想化技術」とは異なる思想・技術背景
• 「コンテナ型仮想化」として表現・比較されるが [要出典]
• セキュリティ要件によっては、コンテナの利用より仮想化技術を選択すべき
• そのため、延命措置目的で CentOS 6 コンテナへの移植はすべきではない
• (特性を理解した上で)有用な場面もある
• 技術(再)検証や手順の(再)作成
• デプロイを素早く行いたい
• バッチ的な処理
• どうしても使わざるを得ない場合は
• Docker の基本概念を理解した上で利用する
• 丸ごと移植ではなく、移行のための一時措置
• 最新の公式ドキュメントが常に正しい
34
アプリケーションの“Build, Share, Run” を素早く簡単に
ハードウェアの
大阪弁と京都弁を「関西弁」と一括りにしたら、
みんな怒るとおもう
OS レベルの
CentOS on Docker にあたって
• 【最重要】 Docker は「仮想化技術」ではありません
• 「アプリケーション・コンテナ」と「システム・コンテナ」は考え方が違う
• 稼働中の環境を、丸っと移行は無理
• 例:initがない
• 例:セキュリティ対策や日々の運用をどうするか
• 既存環境を CentOS 6 のコンテナ移行ではなく、環境再構築検証の用途に
• 従来の手順書で再現ができるかどうか
• なければこの機会に手順化
• 技術習得の機会に
• いきなり未知のものをコンテナ化して取り組むより、
よく知っているもののほうが移行しやすい
• ただし、コンテナ活用の用途は「アプリケーション・コンテナ」に限るべきであり、
無理矢理すべてを「そのまま」コンテナ化すべきという話ではない
35
Docker 移行の考え方
• 前提として 『 適切に Docker を使うべき理由 』 がある
• CentOS 8 上で、アプリケーションを Docker イメージ化する
• Linux ホスト側の環境が変わっても、Docker イメージは実行可能
• 移行前に準備した Docker 対応アプリケーションは、
移行後も Docker コンテナとして実行可能
36
Dockerfile
Dockerfile にイメージ構築に必要な全ての命令を書く
• Dockerイメージは読み込み専用のイメージレイヤ群で構成
• 各イメージ・レイヤが Dockerfile の命令に相当する
• 記述例
37
FROM centos:centos6.10
Dockerfile
Dockerfile にイメージ構築に必要な全ての命令を書く
• Dockerイメージは読み込み専用のイメージレイヤ群で構成
• 各イメージ・レイヤが Dockerfile の命令に相当する
• 記述例
38
FROM centos:centos6.10
RUN yum update -y
レイヤは親子関係を持ち、依存・参照
Dockerfile
Dockerfile にイメージ構築に必要な全ての命令を書く
• Dockerイメージは読み込み専用のイメージレイヤ群で構成
• 各イメージ・レイヤが Dockerfile の命令に相当する
• 記述例
39
FROM centos:centos6.10
RUN yum update –y
CMD [“httpd-foreground”]
レイヤは親子関係を持ち、依存・参照
CentOS 8 の公式イメージを使った Dockerfile 例 40
Dockerfile
FROM centos:8
RUN dnf -y install httpd php
ADD https://raw.githubusercontent.com/docker-
library/httpd/077141ee37fca63972292c562ec0f632d0f831b1/2.4/httpd-foreground
/usr/local/bin/
RUN chmod 700 /usr/local/bin/httpd-foreground
RUN sed -i -e 's%^#LoadModule mpm_prefork_module
modules/mod_mpm_prefork.so%LoadModule mpm_prefork_module
modules/mod_mpm_prefork.so%' /etc/httpd/conf.modules.d/00-mpm.conf
RUN sed -i -e 's%^LoadModule mpm_event_module
modules/mod_mpm_event.so%#LoadModule mpm_event_module
modules/mod_mpm_event.so%' /etc/httpd/conf.modules.d/00-mpm.conf
EXPOSE 80
COPY ./html/* /var/www/html
CMD ["httpd-foreground"]
PHP7 の公式イメージを使った Dockerfile 例 41
Dockerfile
FROM php:7.2-apache
COPY ./html/* /var/www/html
CentOS 6 の公式イメージを使った Dockerfile 例 42
Dockerfile
FROM centos:centos6.10
RUN sed -i
'/^mirrorlist/s/^/#/;/^#baseurl/{s/#//;s/mirror.centos.org¥/centos¥/$releas
ever/vault.centos.org¥/6.10/}' /etc/yum.repos.d/*B* && ¥
yum install -y epel-release && ¥
yum update -y && ¥
cp -f /usr/share/zoneinfo/Japan /etc/localtime
RUN yum -y install php httpd
EXPOSE 80
RUN echo '<?php phpinfo(); ?>' > /var/www/html/index.php
ADD https://raw.githubusercontent.com/docker-
library/httpd/077141ee37fca63972292c562ec0f632d0f831b1/2.4/httpd-foreground
/usr/local/bin/
RUN chmod 700 /usr/local/bin/httpd-foreground
CMD ["httpd-foreground"]
PHP5 の公式イメージを使った Dockerfile 例 43
Dockerfile
FROM php:5.6-apache
COPY ./html/* /var/www/html
Docker 移行の考え方(ポイント)
• 前提として 『 適切に Docker を使うべき理由 』 がある
• CentOS 8 上で、アプリケーションを Docker イメージ化する
• Linux ホスト側の環境が変わっても、Docker イメージは実行可能
• 移行前に準備した Docker 対応アプリケーションは、
移行後も Docker コンテナとして実行可能
44
振り返り
45
46
RHEL
CentOS
RHEL
CentOS Stream
私たちに残された選択肢 → ディストリビューション転換
1. Red Hat Enterprise Linux 8 を導入する
2. CentOS Stream 8 に移行する ( EOL 2024-05-31 )
3. 他の RHEL 派生ディストリビューションを使う
1. コミュニティ系 ( AlmaLinux 、 Rocky Linux など)
2. MIRACLE Linux、Oracle Linux、VzLinux
4. 他の Linux ディストリビューションに移行する
1. Debian GNU/Linux、Ubuntu、Gentoo 等コミュニティ系
2. openSUSE等
5. この機会にコンテナ化や CloudNative 的な開発・運用を目指す
47
現実問題と向き合う (逃げちゃだめだ)
• 業務で今「動いています」の場合
→RHEL 一択 or 有償サポートサービス ( MIRACLE LINUX, Oracle Linux )
• 開発用途です、個人用です「動けば良いです」の場合
• CentOS 代替ディストリビューション ( 主に RHEL 派生や近い関係 ) を検討
→ SentOS Stream
→ AlmaLinux OS
→ Rocky Linux
→ MIRACLE LINUX
→ Oracle Linux
• 他のディストリビューションを検討
• 死んだふりをする
48
発表は以上です。気になることはありますか?
https://slideshare.net/zembutsu
49
補足資料
https://bit.ly/osc22on-centos

More Related Content

What's hot

3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService PrincipalToru Makabe
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
ファイルシステム比較
ファイルシステム比較ファイルシステム比較
ファイルシステム比較NaoyaFukuda
 
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...Google Cloud Platform - Japan
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルMasahito Zembutsu
 
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールこんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールdcubeio
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説貴仁 大和屋
 
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話Masahito Zembutsu
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話Yuta Shimada
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Shin Ohno
 
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #apiTatsuo Kudo
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門VirtualTech Japan Inc.
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -onozaty
 
クラウド環境下におけるAPIリトライ設計
クラウド環境下におけるAPIリトライ設計クラウド環境下におけるAPIリトライ設計
クラウド環境下におけるAPIリトライ設計Kouji YAMADA
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
イッパン的なゴカテイ作ってみた #histudy 2017/08
イッパン的なゴカテイ作ってみた #histudy 2017/08イッパン的なゴカテイ作ってみた #histudy 2017/08
イッパン的なゴカテイ作ってみた #histudy 2017/08sperkbird
 

What's hot (20)

3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
ファイルシステム比較
ファイルシステム比較ファイルシステム比較
ファイルシステム比較
 
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクル
 
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールこんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
 
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
 
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
Keycloakのステップアップ認証について
Keycloakのステップアップ認証についてKeycloakのステップアップ認証について
Keycloakのステップアップ認証について
 
クラウド環境下におけるAPIリトライ設計
クラウド環境下におけるAPIリトライ設計クラウド環境下におけるAPIリトライ設計
クラウド環境下におけるAPIリトライ設計
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
イッパン的なゴカテイ作ってみた #histudy 2017/08
イッパン的なゴカテイ作ってみた #histudy 2017/08イッパン的なゴカテイ作ってみた #histudy 2017/08
イッパン的なゴカテイ作ってみた #histudy 2017/08
 

Similar to CentOS Linux 8 の EOL と対応策の検討

忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜Masahito Zembutsu
 
Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Etsuji Nakai
 
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望Tetsuo Yamabe
 
serverless openstack 101
serverless openstack 101serverless openstack 101
serverless openstack 101Naoto Gohko
 
Hydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違いHydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違いMasakazu Asama
 
YoctoでLTSディストリを作るには
YoctoでLTSディストリを作るにはYoctoでLTSディストリを作るには
YoctoでLTSディストリを作るにはwata2ki
 
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on LinuxAndroid タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on LinuxNetwalker lab kapper
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineEtsuji Nakai
 
はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)Hiroshi Hayakawa
 
Linux kernelsourcearchaeologywithgit public_20120130
Linux kernelsourcearchaeologywithgit public_20120130Linux kernelsourcearchaeologywithgit public_20120130
Linux kernelsourcearchaeologywithgit public_20120130Etsuji Nakai
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例maebashi
 
エンジニアのための勉強会 #5 『Container』
エンジニアのための勉強会 #5 『Container』エンジニアのための勉強会 #5 『Container』
エンジニアのための勉強会 #5 『Container』Naoki Yoshitake
 
15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDocker15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDockerMasahiro NAKAYAMA
 
Firefoxの開発プロセス
Firefoxの開発プロセスFirefoxの開発プロセス
Firefoxの開発プロセスMakoto Kato
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Masahiro Nagano
 
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介Takashi Takizawa
 
Dockerだけではないコンテナのはなし
DockerだけではないコンテナのはなしDockerだけではないコンテナのはなし
DockerだけではないコンテナのはなしKatsunori Kanda
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西Masahide Yamamoto
 

Similar to CentOS Linux 8 の EOL と対応策の検討 (20)

忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
 
Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会
 
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
 
20230128.pptx
20230128.pptx20230128.pptx
20230128.pptx
 
serverless openstack 101
serverless openstack 101serverless openstack 101
serverless openstack 101
 
Hydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違いHydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違い
 
YoctoでLTSディストリを作るには
YoctoでLTSディストリを作るにはYoctoでLTSディストリを作るには
YoctoでLTSディストリを作るには
 
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on LinuxAndroid タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
 
はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)
 
Linux kernelsourcearchaeologywithgit public_20120130
Linux kernelsourcearchaeologywithgit public_20120130Linux kernelsourcearchaeologywithgit public_20120130
Linux kernelsourcearchaeologywithgit public_20120130
 
Tizen & Crosswalk
Tizen & CrosswalkTizen & Crosswalk
Tizen & Crosswalk
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
 
エンジニアのための勉強会 #5 『Container』
エンジニアのための勉強会 #5 『Container』エンジニアのための勉強会 #5 『Container』
エンジニアのための勉強会 #5 『Container』
 
15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDocker15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDocker
 
Firefoxの開発プロセス
Firefoxの開発プロセスFirefoxの開発プロセス
Firefoxの開発プロセス
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
 
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介
 
Dockerだけではないコンテナのはなし
DockerだけではないコンテナのはなしDockerだけではないコンテナのはなし
Dockerだけではないコンテナのはなし
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
 

More from Masahito Zembutsu

自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GA自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GAMasahito Zembutsu
 
さくらインターネットのコミュニティ with COVID-19
さくらインターネットのコミュニティ with COVID-19さくらインターネットのコミュニティ with COVID-19
さくらインターネットのコミュニティ with COVID-19Masahito Zembutsu
 
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」Masahito Zembutsu
 
インターネットでウェブサイトを表示している裏側の話
インターネットでウェブサイトを表示している裏側の話インターネットでウェブサイトを表示している裏側の話
インターネットでウェブサイトを表示している裏側の話Masahito Zembutsu
 
3分で分かる「プログラミング教育・情報教育」
3分で分かる「プログラミング教育・情報教育」3分で分かる「プログラミング教育・情報教育」
3分で分かる「プログラミング教育・情報教育」Masahito Zembutsu
 
ようこそオンラインの展示会場へ
ようこそオンラインの展示会場へようこそオンラインの展示会場へ
ようこそオンラインの展示会場へMasahito Zembutsu
 
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020Masahito Zembutsu
 
オンライン発表で気を付けているポイント~姿勢編
オンライン発表で気を付けているポイント~姿勢編オンライン発表で気を付けているポイント~姿勢編
オンライン発表で気を付けているポイント~姿勢編Masahito Zembutsu
 
Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解Masahito Zembutsu
 
Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技Masahito Zembutsu
 
クリスマスに工場(Factorio)を作るゲームをしよう
クリスマスに工場(Factorio)を作るゲームをしようクリスマスに工場(Factorio)を作るゲームをしよう
クリスマスに工場(Factorio)を作るゲームをしようMasahito Zembutsu
 
2020年から始まる小学校プログラミング教育の話 #osc19os
2020年から始まる小学校プログラミング教育の話 #osc19os2020年から始まる小学校プログラミング教育の話 #osc19os
2020年から始まる小学校プログラミング教育の話 #osc19osMasahito Zembutsu
 
CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and KnativeMasahito Zembutsu
 
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)Masahito Zembutsu
 
CNCFアップデート情報~2018年のCNCFを振り返る
CNCFアップデート情報~2018年のCNCFを振り返るCNCFアップデート情報~2018年のCNCFを振り返る
CNCFアップデート情報~2018年のCNCFを振り返るMasahito Zembutsu
 
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料Masahito Zembutsu
 
コンテナ導入概要資料2018
コンテナ導入概要資料2018コンテナ導入概要資料2018
コンテナ導入概要資料2018Masahito Zembutsu
 
DockerConの歩き方~海外カンファレンスに参加するには~
DockerConの歩き方~海外カンファレンスに参加するには~DockerConの歩き方~海外カンファレンスに参加するには~
DockerConの歩き方~海外カンファレンスに参加するには~Masahito Zembutsu
 

More from Masahito Zembutsu (20)

自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GA自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GA
 
さくらインターネットのコミュニティ with COVID-19
さくらインターネットのコミュニティ with COVID-19さくらインターネットのコミュニティ with COVID-19
さくらインターネットのコミュニティ with COVID-19
 
Docker Chronicle 2021.09
Docker Chronicle  2021.09Docker Chronicle  2021.09
Docker Chronicle 2021.09
 
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」
ブックトーク@CROSS ~SF編~ 発表資料「攻殻機動隊」「導きの星」
 
インターネットでウェブサイトを表示している裏側の話
インターネットでウェブサイトを表示している裏側の話インターネットでウェブサイトを表示している裏側の話
インターネットでウェブサイトを表示している裏側の話
 
3分で分かる「プログラミング教育・情報教育」
3分で分かる「プログラミング教育・情報教育」3分で分かる「プログラミング教育・情報教育」
3分で分かる「プログラミング教育・情報教育」
 
ようこそオンラインの展示会場へ
ようこそオンラインの展示会場へようこそオンラインの展示会場へ
ようこそオンラインの展示会場へ
 
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020
小学校プログラミング教育に対する企業の取り組みと課題 #KOF2020
 
オンライン発表で気を付けているポイント~姿勢編
オンライン発表で気を付けているポイント~姿勢編オンライン発表で気を付けているポイント~姿勢編
オンライン発表で気を付けているポイント~姿勢編
 
Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解
 
Jitsi Meetとは?
Jitsi Meetとは?Jitsi Meetとは?
Jitsi Meetとは?
 
Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技
 
クリスマスに工場(Factorio)を作るゲームをしよう
クリスマスに工場(Factorio)を作るゲームをしようクリスマスに工場(Factorio)を作るゲームをしよう
クリスマスに工場(Factorio)を作るゲームをしよう
 
2020年から始まる小学校プログラミング教育の話 #osc19os
2020年から始まる小学校プログラミング教育の話 #osc19os2020年から始まる小学校プログラミング教育の話 #osc19os
2020年から始まる小学校プログラミング教育の話 #osc19os
 
CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and Knative
 
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)
[1C5] Docker Comose & Swarm mode Orchestration (Japan Container Days - Day1)
 
CNCFアップデート情報~2018年のCNCFを振り返る
CNCFアップデート情報~2018年のCNCFを振り返るCNCFアップデート情報~2018年のCNCFを振り返る
CNCFアップデート情報~2018年のCNCFを振り返る
 
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
 
コンテナ導入概要資料2018
コンテナ導入概要資料2018コンテナ導入概要資料2018
コンテナ導入概要資料2018
 
DockerConの歩き方~海外カンファレンスに参加するには~
DockerConの歩き方~海外カンファレンスに参加するには~DockerConの歩き方~海外カンファレンスに参加するには~
DockerConの歩き方~海外カンファレンスに参加するには~
 

CentOS Linux 8 の EOL と対応策の検討

  • 1. CentOS Linux 8 の EOL と 対応策の検討 OSC2022 Online/Spring 11 Mar 2022 @zembutsu
  • 2. 今日の流れ • CentOS 8 は EOL 済み • dnf が扱えないので、 vault リポジトリを参照する設定が必要 • 移行スクリプトのデモをします! • CentOS 8 はどうしたら? • 互換性のあるディストリビューションに移行 ( AlmaLinux, Rocky Linux, RHEL 等 ) • 別のディストリビューションに載せ替え ( Debian , Ubuntu 等) • 諦める。達観の境地 • CentOS に一体何が起こったのか? • 第3の道(みなさんご興味あれば) 2
  • 3. CentOS 8 は EOL 3
  • 4. CentOS 8 は End of Life (EOL) • 2022年12月31日で EOL • [2020/12/8] CentOS Project shifts focus to CentOS Stream – Blog.CentOS.org https://blog.centos.org/2020/12/future-is-centos-stream/ • dnf / yum は使えなくなりました 4 # dnf update CentOS Linux 8 - AppStream 73 B/s | 38 B 00:00 エラー: repo 'appstream' のメタデータのダウンロードに失敗しました : Cannot prepare internal mirrorlist: No URLs in mirrorlist
  • 5. /etc/yum.respos.d/ 以下の書き換え • 「mirror.centos.org」を「vault.centos.org」に変更する必要 5 # sed -i -r ¥ -e 's!^mirrorlist=!#mirrorlist=!' ¥ -e 's!^#?baseurl=http://(mirror|vault).centos.org/¥$contentdir/¥$releasever/!baseurl= https://dl.rockylinux.org/vault/centos/8.5.2111/!i' ¥ /etc/yum.repos.d/CentOS-*.repo # dnf update 補足資料:https://bit.ly/osc22on-centos
  • 7. 私たちに残された選択肢 → ディストリビューション転換 1. Red Hat Enterprise Linux 8 を導入する 2. CentOS Stream 8 に移行する ( EOL 2024-05-31 ) 3. 他の RHEL 派生ディストリビューションを使う 1. コミュニティ系 ( AlmaLinux 、 Rocky Linux など) 2. MIRACLE Linux、Oracle Linux、VzLinux 4. 他の Linux ディストリビューションに移行する 1. Debian GNU/Linux、Ubuntu、Gentoo 等コミュニティ系 2. openSUSE等 5. この機会にコンテナ化や CloudNative 的な開発・運用を目指す 7
  • 8. 現実問題と向き合う (逃げちゃだめだ) • 業務で今「動いています」の場合 →RHEL 一択 or 有償サポートサービス ( MIRACLE LINUX, Oracle Linux ) • 開発用途です、個人用です「動けば良いです」の場合 • CentOS 代替ディストリビューション ( 主に RHEL 派生や近い関係 ) を検討 → SentOS Stream → AlmaLinux OS → Rocky Linux → MIRACLE LINUX → Oracle Linux • 他のディストリビューションを検討 • 死んだふりをする 8
  • 9. 現実問題と向き合う (逃げちゃだめだ) • 業務で今「動いています」の場合 →RHEL 一択 or 有償サポートサービス ( MIRACLE LINUX, Oracle Linux ) • 開発用途です、個人用です「動けば良いです」の場合 • CentOS 代替ディストリビューション ( 主に RHEL 派生や近い関係 ) を検討 → SentOS Stream → AlmaLinux OS → Rocky Linux → MIRACLE LINUX → Oracle Linux • 他のディストリビューションを検討 • 死んだふりをする 9
  • 10. CentOS 8 に対応している移行スクリプト • 移行スクリプトを使い、CentOS 8 から移行 • CentOS Stream 8 • AlmaLinux OS • Rocky Linux • MIRACLE LINUX • RHEL • Oracle Linux 10 補足資料:https://bit.ly/osc22on-centos
  • 11. CentOS 8 に対応している移行スクリプト • 移行スクリプトを使い、CentOS 8 から移行 • CentOS Stream 8 • AlmaLinux OS • Rocky Linux • MIRACLE LINUX • RHEL • Oracle Linux 11 補足資料:https://bit.ly/osc22on-centos
  • 13. A long long time ago... • Red Hat Linux 1.0 (1994年11月3日リリース) 13 Red Hat Linux 1.0
  • 14. A long long time ago... • Red Hat Linux 1.0 (1994年11月3日リリース) 14 Red Hat Linux 1.0 2.0 3.0 4.0 5.0 6.0 7 8.0 9
  • 15. A long long time ago... • Red Hat Linux 1.0 (1994年11月3日リリース) 15 Red Hat Linux 1.0 2.0 3.0 4.0 5.0 6.0 7 8.0 9 Vine Linux 3.0
  • 16. A long long time ago... • Red Hat Linux 1.0 (1994年11月3日リリース) • 2007年2月9日 Fedora Legacy プロジェクト終了 16 Red Hat Linux 1.0 2.0 3.0 4.0 5.0 6.0 7 8.0 9 Vine Linux 3.0
  • 17. 元々の経緯 • Community ENTerprise Operating System (2004年5月14日リリース) 17 RHEL 2.1 CentOS 2.1
  • 18. 元々の経緯 • Community ENTerprise Operating System (2004年5月14日リリース) • 2007年2月9日 Fedora Legacy プロジェクト終了に伴い CentOS が注目 • CentOS FAQ 日本語版 http://pocketstudio.jp/centos/ 18 RHEL 2.1 CentOS 2.1
  • 19. 19
  • 21. 21
  • 25. 私たちに残された選択肢 → ディストリビューション転換 1. Red Hat Enterprise Linux 8 を導入する 2. CentOS Stream 8 に移行する ( EOL 2024-05-31 ) 3. 他の RHEL 派生ディストリビューションを使う 1. コミュニティ系 ( AlmaLinux 、 Rocky Linux など) 2. MIRACLE Linux、Oracle Linux、VzLinux 4. 他の Linux ディストリビューションに移行する 1. Debian GNU/Linux、Ubuntu、Gentoo 等コミュニティ系 2. openSUSE等 5. この機会にコンテナ化や CloudNative 的な開発・運用を目指す 25
  • 26. Rocky Linux - Introduction
  • 27. Rocky Linux とは何か? • コミュニティをベースにした開発・運用 • CentOS プロジェクト創設者 Gregory Kurtzer 氏が参画 • “Rocky Linux is a community enterprise operating system designed to be 100% bug-for-bug compatible with America's top enterprise Linux distribution now that its downstream partner has shifted direction. “ • 2021年4月30日 8.3 RC リリース • 2021年6月21日 8.4 GAリリース • x86_64 、ARM 版提供中 • https://rockylinux.org/ja/ 27
  • 29. AlmaLinux とは何か? • Alma = “魂” • “An open-source RHEL fork build by the team at CloudLinux, inspired by the community” • CloudLinux 社が開発・メンテナンス・スポンサード • Project Lenix -> Alma Linux • 4,000 社に CloudLinux OS を提供している経験 • コミュニティに対して、常に無料でオープンソースとして提供 • 2029年までサポートをコミット • x86_64 、ARM 版提供中 29
  • 30. AlmaLinux についての情報を手に入れるには? • 公式サイト • https://almalinux.org/ • Wiki • https://wiki.almalinux.org/ • 公式ブログ • https://almalinux.org/blog/ • Twitter • https://twitter.com/almalinux 30
  • 32. © 2018 Cloud Native Computing Foundation 32 ※ https://github.com/cncf/presentations からの引用 コンテナ クラウド ネイティブ 仮想化からクラウド・ネイティブへ From Virtualization to Cloud Native • クラウド・ネイティブ・コンピューティングはオープンソースの ソフトウェアを積み重ね、次のために用います: – アプリケーションをマイクロサービス(microservices)に分割し、 – 各パーツ自身をコンテナにパッケージし、 – リソース利用を最適化するために、動的に統合/ オーケストレート(orchestrate)する オープン ソース IaaS PaaS オープン ソース PaaS 仮想化 2000 2001 2006 2009 2010 2011 非仮想化 ハードウェア 2013 2015 IaaS
  • 33. 33
  • 34. “Dockerは銀の弾丸ではない” • 前提として、Dockerは(いわゆる)「仮想化技術」とは異なる思想・技術背景 • 「コンテナ型仮想化」として表現・比較されるが [要出典] • セキュリティ要件によっては、コンテナの利用より仮想化技術を選択すべき • そのため、延命措置目的で CentOS 6 コンテナへの移植はすべきではない • (特性を理解した上で)有用な場面もある • 技術(再)検証や手順の(再)作成 • デプロイを素早く行いたい • バッチ的な処理 • どうしても使わざるを得ない場合は • Docker の基本概念を理解した上で利用する • 丸ごと移植ではなく、移行のための一時措置 • 最新の公式ドキュメントが常に正しい 34 アプリケーションの“Build, Share, Run” を素早く簡単に ハードウェアの 大阪弁と京都弁を「関西弁」と一括りにしたら、 みんな怒るとおもう OS レベルの
  • 35. CentOS on Docker にあたって • 【最重要】 Docker は「仮想化技術」ではありません • 「アプリケーション・コンテナ」と「システム・コンテナ」は考え方が違う • 稼働中の環境を、丸っと移行は無理 • 例:initがない • 例:セキュリティ対策や日々の運用をどうするか • 既存環境を CentOS 6 のコンテナ移行ではなく、環境再構築検証の用途に • 従来の手順書で再現ができるかどうか • なければこの機会に手順化 • 技術習得の機会に • いきなり未知のものをコンテナ化して取り組むより、 よく知っているもののほうが移行しやすい • ただし、コンテナ活用の用途は「アプリケーション・コンテナ」に限るべきであり、 無理矢理すべてを「そのまま」コンテナ化すべきという話ではない 35
  • 36. Docker 移行の考え方 • 前提として 『 適切に Docker を使うべき理由 』 がある • CentOS 8 上で、アプリケーションを Docker イメージ化する • Linux ホスト側の環境が変わっても、Docker イメージは実行可能 • 移行前に準備した Docker 対応アプリケーションは、 移行後も Docker コンテナとして実行可能 36
  • 37. Dockerfile Dockerfile にイメージ構築に必要な全ての命令を書く • Dockerイメージは読み込み専用のイメージレイヤ群で構成 • 各イメージ・レイヤが Dockerfile の命令に相当する • 記述例 37 FROM centos:centos6.10
  • 38. Dockerfile Dockerfile にイメージ構築に必要な全ての命令を書く • Dockerイメージは読み込み専用のイメージレイヤ群で構成 • 各イメージ・レイヤが Dockerfile の命令に相当する • 記述例 38 FROM centos:centos6.10 RUN yum update -y レイヤは親子関係を持ち、依存・参照
  • 39. Dockerfile Dockerfile にイメージ構築に必要な全ての命令を書く • Dockerイメージは読み込み専用のイメージレイヤ群で構成 • 各イメージ・レイヤが Dockerfile の命令に相当する • 記述例 39 FROM centos:centos6.10 RUN yum update –y CMD [“httpd-foreground”] レイヤは親子関係を持ち、依存・参照
  • 40. CentOS 8 の公式イメージを使った Dockerfile 例 40 Dockerfile FROM centos:8 RUN dnf -y install httpd php ADD https://raw.githubusercontent.com/docker- library/httpd/077141ee37fca63972292c562ec0f632d0f831b1/2.4/httpd-foreground /usr/local/bin/ RUN chmod 700 /usr/local/bin/httpd-foreground RUN sed -i -e 's%^#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so%LoadModule mpm_prefork_module modules/mod_mpm_prefork.so%' /etc/httpd/conf.modules.d/00-mpm.conf RUN sed -i -e 's%^LoadModule mpm_event_module modules/mod_mpm_event.so%#LoadModule mpm_event_module modules/mod_mpm_event.so%' /etc/httpd/conf.modules.d/00-mpm.conf EXPOSE 80 COPY ./html/* /var/www/html CMD ["httpd-foreground"]
  • 41. PHP7 の公式イメージを使った Dockerfile 例 41 Dockerfile FROM php:7.2-apache COPY ./html/* /var/www/html
  • 42. CentOS 6 の公式イメージを使った Dockerfile 例 42 Dockerfile FROM centos:centos6.10 RUN sed -i '/^mirrorlist/s/^/#/;/^#baseurl/{s/#//;s/mirror.centos.org¥/centos¥/$releas ever/vault.centos.org¥/6.10/}' /etc/yum.repos.d/*B* && ¥ yum install -y epel-release && ¥ yum update -y && ¥ cp -f /usr/share/zoneinfo/Japan /etc/localtime RUN yum -y install php httpd EXPOSE 80 RUN echo '<?php phpinfo(); ?>' > /var/www/html/index.php ADD https://raw.githubusercontent.com/docker- library/httpd/077141ee37fca63972292c562ec0f632d0f831b1/2.4/httpd-foreground /usr/local/bin/ RUN chmod 700 /usr/local/bin/httpd-foreground CMD ["httpd-foreground"]
  • 43. PHP5 の公式イメージを使った Dockerfile 例 43 Dockerfile FROM php:5.6-apache COPY ./html/* /var/www/html
  • 44. Docker 移行の考え方(ポイント) • 前提として 『 適切に Docker を使うべき理由 』 がある • CentOS 8 上で、アプリケーションを Docker イメージ化する • Linux ホスト側の環境が変わっても、Docker イメージは実行可能 • 移行前に準備した Docker 対応アプリケーションは、 移行後も Docker コンテナとして実行可能 44
  • 47. 私たちに残された選択肢 → ディストリビューション転換 1. Red Hat Enterprise Linux 8 を導入する 2. CentOS Stream 8 に移行する ( EOL 2024-05-31 ) 3. 他の RHEL 派生ディストリビューションを使う 1. コミュニティ系 ( AlmaLinux 、 Rocky Linux など) 2. MIRACLE Linux、Oracle Linux、VzLinux 4. 他の Linux ディストリビューションに移行する 1. Debian GNU/Linux、Ubuntu、Gentoo 等コミュニティ系 2. openSUSE等 5. この機会にコンテナ化や CloudNative 的な開発・運用を目指す 47
  • 48. 現実問題と向き合う (逃げちゃだめだ) • 業務で今「動いています」の場合 →RHEL 一択 or 有償サポートサービス ( MIRACLE LINUX, Oracle Linux ) • 開発用途です、個人用です「動けば良いです」の場合 • CentOS 代替ディストリビューション ( 主に RHEL 派生や近い関係 ) を検討 → SentOS Stream → AlmaLinux OS → Rocky Linux → MIRACLE LINUX → Oracle Linux • 他のディストリビューションを検討 • 死んだふりをする 48