LXCを使った軽量仮想環境。
これからの動向が気になるところ。
情報共有しましょう。
http://www.docker.io/
前スレ
Docker Part2
https://mao.5ch.net/test/read.cgi/linux/1506574845/
Docker Part3
■ このスレッドは過去ログ倉庫に格納されています
1login:Penguin
2019/03/08(金) 14:40:20.55ID:VDOvuQ0J2020/01/09(木) 08:21:38.97ID:M2xrYdZL
あと電気代じゃねーぞ。まあ電気代の話にすり替えてごまかそうとしてるんだろうけどなw
2020/01/09(木) 08:23:29.67ID:M2xrYdZL
461login:Penguin
2020/01/09(木) 08:51:57.55ID:CnTio2h+ Dockerコンテナをシステム・サービスのように使う例などいくらでもある
https://coreos.com/os/docs/latest/booting-on-ecs.html
これだってそうだ
kiam同様、AWSメタデータ APIの仲介役として
ECSエージェントとして利用している
kiamやElasticsearchのhelmチャートが
ホストOSの設定を変更するのは、あくまで一例
Dockerコンテナ内でやらずとも、systemdユニットでやる方法がある
https://coreos.com/os/docs/latest/booting-on-ecs.html
これだってそうだ
kiam同様、AWSメタデータ APIの仲介役として
ECSエージェントとして利用している
kiamやElasticsearchのhelmチャートが
ホストOSの設定を変更するのは、あくまで一例
Dockerコンテナ内でやらずとも、systemdユニットでやる方法がある
462login:Penguin
2020/01/09(木) 09:04:53.08ID:CnTio2h+ DockerでOpenVPNってこれ?
https://github.com/kylemanna/docker-openvpn/blob/master/README.md
コンテナに特権を与える事でホストOSのネットワークへのアクセスを可能にしている
systemdの初期化スクリプトも入ってる
これ使えばいいんじゃね?
知らんけど
https://github.com/kylemanna/docker-openvpn/blob/master/README.md
コンテナに特権を与える事でホストOSのネットワークへのアクセスを可能にしている
systemdの初期化スクリプトも入ってる
これ使えばいいんじゃね?
知らんけど
2020/01/09(木) 09:16:12.84ID:M2xrYdZL
今回問題にしてるのは、システムサービスじゃなくて
ルーティングサービスだ
ルーティングサービスだ
464login:Penguin
2020/01/09(木) 09:28:46.16ID:CnTio2h+ 特権与えればホストOSの設定にアクセス出来るから
基本的にコンテナ外でできる事は
コンテナ内でも出来る
iptablesの設定だって変えられる
変えて何が悪い?
実際やってる人なんていくらでも居るじゃん
基本的にコンテナ外でできる事は
コンテナ内でも出来る
iptablesの設定だって変えられる
変えて何が悪い?
実際やってる人なんていくらでも居るじゃん
2020/01/09(木) 11:13:36.32ID:1eanVRuK
https://github.com/hwdsl2/docker-ipsec-vpn-server
自分はこれつかってIPsec/L2TPサーバーやらせてるな
自分はこれつかってIPsec/L2TPサーバーやらせてるな
466445
2020/01/09(木) 13:14:25.22ID:cTaOp8rO 皆さんありがとうございます。
k8s未経験だけに、ルーティング1つ書くためだけに導入するのはちょっとハードル高いですが
入れればできそうってのは覚えておいて、今後機会があればやってみます。
OpenVPNコンテナは、alpineスクラッチからDockerfileで手構築です。
元々オンプレで動かしてたものをコンテナ化した都合から、色々いじってるので。
ただアプローチとしては>>464さんの言うとおりだなぁと思いました。
権限与えてるんだから、コンテナ内からホストにルーティング投げればいいだけですね。
その方向で試してみたいと思います。
k8s未経験だけに、ルーティング1つ書くためだけに導入するのはちょっとハードル高いですが
入れればできそうってのは覚えておいて、今後機会があればやってみます。
OpenVPNコンテナは、alpineスクラッチからDockerfileで手構築です。
元々オンプレで動かしてたものをコンテナ化した都合から、色々いじってるので。
ただアプローチとしては>>464さんの言うとおりだなぁと思いました。
権限与えてるんだから、コンテナ内からホストにルーティング投げればいいだけですね。
その方向で試してみたいと思います。
2020/01/10(金) 23:04:53.49ID:SGMX+Q1g
openvpnのコンテナ探して、やり方をそのままやった方が早そう
468login:Penguin
2020/01/15(水) 16:07:08.54ID:M8GRLPix dockerでもdocker-composeでもいいんだけど、
シェルスクリプトを作る以外でマルチステージビルドの
ようなことを他の手段はないですかね?
つまりあるDockerfileをbuildする。
この時、FROMに別のDockerfileが指定されていて、
そっちを先にビルドして使うような感じにしたい
FROMにイメージ名が書いてあればそれをpullするけど
そうじゃなくてイメージをアップしたくなくて、
ローカルでビルドしたい。それを自動的にしたい。
シェルスクリプトを作る以外でマルチステージビルドの
ようなことを他の手段はないですかね?
つまりあるDockerfileをbuildする。
この時、FROMに別のDockerfileが指定されていて、
そっちを先にビルドして使うような感じにしたい
FROMにイメージ名が書いてあればそれをpullするけど
そうじゃなくてイメージをアップしたくなくて、
ローカルでビルドしたい。それを自動的にしたい。
2020/01/15(水) 16:13:25.17ID:+oUgohk9
>>468
ローカルにdockerイメージリポジトリを作ればよい。
ローカルにdockerイメージリポジトリを作ればよい。
470login:Penguin
2020/01/15(水) 16:21:38.60ID:M8GRLPix dockerイメージリポジトリにイメージをアップしたくないんですよ
2020/01/15(水) 16:44:01.03ID:cqAMYOAh
いやだからローカルに作ろうよ
472login:Penguin
2020/01/15(水) 16:46:55.58ID:M8GRLPix いや、だからアップしたくないって言ってるやんw
相手の環境なんかわからないんだからさ
相手の環境なんかわからないんだからさ
473login:Penguin
2020/01/15(水) 16:48:12.41ID:M8GRLPix 相手に、このコマンドを実行すればOKですって書くのはまだいいけど、
相手に、ローカルに作ってください、作ってアップしてくださいって
手順を長々と書くのはダメやろ?
相手に、ローカルに作ってください、作ってアップしてくださいって
手順を長々と書くのはダメやろ?
2020/01/15(水) 16:51:06.82ID:6O0iX9bd
相手ってなんだよ
いきなり新しい登場人物か
いきなり新しい登場人物か
2020/01/15(水) 18:45:17.43ID:yxjUdNw1
できるけど
476login:Penguin
2020/01/15(水) 19:29:55.39ID:M8GRLPix2020/01/15(水) 21:02:50.99ID:FeJAdkeM
最初はなかった「相手」が増えてるじゃん
478login:Penguin
2020/01/15(水) 21:12:09.27ID:WmUoZk76 じゃあ「相手」は無視していいよ
関係ない話だから
関係ない話だから
2020/01/15(水) 21:30:30.57ID:D3zJtvMI
利用マニュアルにコマンド並べればいいんじゃないの?
シェルスクリプトとPowerShell両方用意してるプロジェクトもあるね
シェルスクリプトとPowerShell両方用意してるプロジェクトもあるね
480login:Penguin
2020/01/16(木) 15:06:12.13ID:HmEXTTgD2020/01/16(木) 19:00:48.25ID:zyhk0GYW
>>480
禁止っていうか、シェルスクリプト作るなら誰だってできるって話
Dockerfileビルド時に依存したDockerfileも自動的にビルドする方法は
マルチステージビルド以外では方法はなさそうね
禁止っていうか、シェルスクリプト作るなら誰だってできるって話
Dockerfileビルド時に依存したDockerfileも自動的にビルドする方法は
マルチステージビルド以外では方法はなさそうね
2020/01/17(金) 07:24:42.58ID:ZAXZSb1y
むしろマルチステージビルドという仕組みがあるのね
483login:Penguin
2020/01/19(日) 19:15:57.69ID:6YirC2HC Docker Hubのさぁ、Automated Buildでさぁ
GitHubのREADME.mdを中途半端に持ってくるのやめてくれないかな
リンクあるだけでいいだろ、あれ誰が嬉しいんだ?
GitHubのREADME.mdを中途半端に持ってくるのやめてくれないかな
リンクあるだけでいいだろ、あれ誰が嬉しいんだ?
2020/01/20(月) 17:21:05.08ID:NtEsdlOO
>>483
一理ある
一理ある
2020/01/20(月) 18:26:17.46ID:hh3AXqYf
>>483
一理あるから、Docker Hubに文句言ってきてください。
一理あるから、Docker Hubに文句言ってきてください。
2020/01/20(月) 23:01:44.50ID:j4KqcwiZ
487login:Penguin
2020/01/21(火) 00:08:02.28ID:3DzPFxLf >>486
> 概要把握したい向きもあるだろう
一行の見出しでは情報を伝えられないだろ?
Automated Buildを使わなければ丁寧に概要を書くこともできるし、
GitHubのREADME.mdをコピペすることだってできる
でもAutomated Buildを使うと、GitHubのREADME.mdを
表示させることしか出来ないんだよ
丁寧に書いてもAutomated Buildが走ると消されるwww
> 概要把握したい向きもあるだろう
一行の見出しでは情報を伝えられないだろ?
Automated Buildを使わなければ丁寧に概要を書くこともできるし、
GitHubのREADME.mdをコピペすることだってできる
でもAutomated Buildを使うと、GitHubのREADME.mdを
表示させることしか出来ないんだよ
丁寧に書いてもAutomated Buildが走ると消されるwww
488login:Penguin
2020/01/22(水) 21:54:29.16ID:tgVfjbcp Amazon EKSが50%値下げだってよ
でもまだ高い、クラスター1つくらいは
タダにしてくれよ
でもまだ高い、クラスター1つくらいは
タダにしてくれよ
489login:Penguin
2020/01/22(水) 23:01:11.05ID:Fr3HVC6X クラスター使ったことある?
高いの?
いくらすたー?
高いの?
いくらすたー?
2020/01/22(水) 23:48:26.84ID:OxBzKT9R
googleも無料枠だと無理だからねえ。
それ以前にAWSも無料枠欲しいな。
忘れてたら毎月600円課金されてた
それ以前にAWSも無料枠欲しいな。
忘れてたら毎月600円課金されてた
491login:Penguin
2020/01/24(金) 20:27:25.19ID:Pc7e1TLp etcd: t3.micro (リザーブドで購入) * 3
k8s api server: t3.small (スポットインスタンス)* 2
etcd: EBS 9GB * 3
k8s api server: EBS 16 GB * 2
これでやれば40.64ドル
EKSの72ドルより安いが
安定するかは知らない
APIサーバーの負荷分散に
NLBを使うと17.5ドル
これを含めると58.14ドル
DNSラウンドロビンでも負荷分散出来るけど
更新時の反映の遅れを考えると
NLBの方がいい
NLBはイングレスとAPIサーバーが
1つのNLBを共用も可能
EKSでイングレスの負荷分散にNLBを使うなら
72+17.5で89.5ドル
k8s api server: t3.small (スポットインスタンス)* 2
etcd: EBS 9GB * 3
k8s api server: EBS 16 GB * 2
これでやれば40.64ドル
EKSの72ドルより安いが
安定するかは知らない
APIサーバーの負荷分散に
NLBを使うと17.5ドル
これを含めると58.14ドル
DNSラウンドロビンでも負荷分散出来るけど
更新時の反映の遅れを考えると
NLBの方がいい
NLBはイングレスとAPIサーバーが
1つのNLBを共用も可能
EKSでイングレスの負荷分散にNLBを使うなら
72+17.5で89.5ドル
492login:Penguin
2020/01/24(金) 20:40:22.15ID:Pc7e1TLp HAとか気にしなければさらに安く出来るが
大事な環境でやるのはおすすめしない
t3a.smallのスポットインスタンス1つと
17GBのEBSを使い
etcdとk8sのapi serverを同居させれば
7.37ドルでコントローラーノードが作れる
いずれの場合も当然ながら
ワーカーノードは別料金
k3sとか使えばもっと安く出来るかもしれないが
やってない
大事な環境でやるのはおすすめしない
t3a.smallのスポットインスタンス1つと
17GBのEBSを使い
etcdとk8sのapi serverを同居させれば
7.37ドルでコントローラーノードが作れる
いずれの場合も当然ながら
ワーカーノードは別料金
k3sとか使えばもっと安く出来るかもしれないが
やってない
493login:Penguin
2020/01/25(土) 00:15:37.21ID:IX/hIA45 CVE-2019-5021
いまいちこの脆弱性がよくわからないんだけど、
どういうシナリオで攻撃が成功するの?
攻撃者は何を使うの?docker exec?
いまいちこの脆弱性がよくわからないんだけど、
どういうシナリオで攻撃が成功するの?
攻撃者は何を使うの?docker exec?
494login:Penguin
2020/01/25(土) 18:04:37.61ID:ES14vB7p ちょっとした疑問なんだけどさ、docker pullってあれ
レイヤーごとに並列でダウンロードしてるよね?
なんとなくレイヤーは分けたくないなって思ってたけど
でかいファイルは複数のレイヤーに分けておくと
ダウンロードが速くなったりするのかな?
その観点からのレポートってどこかにない?
レイヤーごとに並列でダウンロードしてるよね?
なんとなくレイヤーは分けたくないなって思ってたけど
でかいファイルは複数のレイヤーに分けておくと
ダウンロードが速くなったりするのかな?
その観点からのレポートってどこかにない?
2020/01/25(土) 18:13:26.66ID:oy3JqaRN
初めてDockerを触ろうと思っています
Windows10Proで動かしたいんですが調べてみると
Docker for WindowsとDocker Toolboxのどちらを入れれば良いのか分かりませんでした
用途としてはPythonの開発環境をDockerに組もうと思っているのですが
どちらを使えば良いのか教えていただけると幸いです
Windows10Proで動かしたいんですが調べてみると
Docker for WindowsとDocker Toolboxのどちらを入れれば良いのか分かりませんでした
用途としてはPythonの開発環境をDockerに組もうと思っているのですが
どちらを使えば良いのか教えていただけると幸いです
496login:Penguin
2020/01/25(土) 18:53:06.86ID:ES14vB7p 通常はDocker for Windows (=Docker Desktop for Windows)
歴史的にはWin版、Mac版共に、Docker Toolboxが最初に作られ
そしてDocker Desktop for Windows or Macが作られた。
Docker Toolboxは古いもの扱い。
1. Docker Toolbox・・・仮想マシンとしてVirtualBoxを使った実装
2. Docker Desktop ・・・WindowsではHyperV、MacではOSネイティブの何とかを使った実装
つまり、サードメーカーのVirtualBoxを使うのをやめて
OSネイティブの仮想マシン技術を使うようになった
ただしその結果、Windowsでは制限が生まれた。
HyperVはProでしか使えない。HyperVはVirtual BoxやVMWareと(ほぼ)共存できない。
だからHomeを使ってるとか、他の競合する仮想マシンを
使う必要があるなら古いDocker Toolboxを使わざるを得ない
3. Docker Desktop for WSL2 が近いうちに登場する
WSL2は近々登場するWindows標準機能で、
HyperVのサブセット機能の仮想マシンを使って動かすLinux環境
Docker Desktop for WindowsはDocker社で作ったLinux環境を使っているが
Docker Desktop for WSL2はWindows標準のWSL2のLinux環境を使うようになる
WSL2はいろんな性能が向上しているとともに、Windows 10 Homeでも使えるようになる。
Virtual BoxやVMWareと共存は相変わらず出来ないが、こっちは別で共存できるように開発中
あと数カ月後はDocker Desktop for WSL2を使う
歴史的にはWin版、Mac版共に、Docker Toolboxが最初に作られ
そしてDocker Desktop for Windows or Macが作られた。
Docker Toolboxは古いもの扱い。
1. Docker Toolbox・・・仮想マシンとしてVirtualBoxを使った実装
2. Docker Desktop ・・・WindowsではHyperV、MacではOSネイティブの何とかを使った実装
つまり、サードメーカーのVirtualBoxを使うのをやめて
OSネイティブの仮想マシン技術を使うようになった
ただしその結果、Windowsでは制限が生まれた。
HyperVはProでしか使えない。HyperVはVirtual BoxやVMWareと(ほぼ)共存できない。
だからHomeを使ってるとか、他の競合する仮想マシンを
使う必要があるなら古いDocker Toolboxを使わざるを得ない
3. Docker Desktop for WSL2 が近いうちに登場する
WSL2は近々登場するWindows標準機能で、
HyperVのサブセット機能の仮想マシンを使って動かすLinux環境
Docker Desktop for WindowsはDocker社で作ったLinux環境を使っているが
Docker Desktop for WSL2はWindows標準のWSL2のLinux環境を使うようになる
WSL2はいろんな性能が向上しているとともに、Windows 10 Homeでも使えるようになる。
Virtual BoxやVMWareと共存は相変わらず出来ないが、こっちは別で共存できるように開発中
あと数カ月後はDocker Desktop for WSL2を使う
497login:Penguin
2020/01/25(土) 19:01:18.86ID:ES14vB7p > 用途としてはPythonの開発環境をDockerに組もうと思っているのですが
それは推奨しない。Dockerはアプリケーションを作るもの
Windows10Proなら、Pythonの開発環境としてはWSLを使うのが良い。
開発環境はWSLでもWindowsでもMacでもLinuxでも
仮想マシン上のなにかでも、どこでも好きなOSを自由に選べる
開発環境を自由に選べる理由がDocker
DockerというのはPythonで作ったアプリに可搬性をもたせるために
(どのOSでも動くようにするために)Dockerイメージでラッピングするというのが正しい使い方
作ったものがどこでも動くから、開発環境はどこでもいい。
どこでもいいからWindows10ProでPython開発環境として一番便利なWSLが推奨
それは推奨しない。Dockerはアプリケーションを作るもの
Windows10Proなら、Pythonの開発環境としてはWSLを使うのが良い。
開発環境はWSLでもWindowsでもMacでもLinuxでも
仮想マシン上のなにかでも、どこでも好きなOSを自由に選べる
開発環境を自由に選べる理由がDocker
DockerというのはPythonで作ったアプリに可搬性をもたせるために
(どのOSでも動くようにするために)Dockerイメージでラッピングするというのが正しい使い方
作ったものがどこでも動くから、開発環境はどこでもいい。
どこでもいいからWindows10ProでPython開発環境として一番便利なWSLが推奨
2020/01/25(土) 19:42:29.77ID:F7NqsOON
別にDockerを開発環境にしてもいいのに
このスレではそれやると発狂する人がいるよね
このスレではそれやると発狂する人がいるよね
2020/01/26(日) 00:27:49.86ID:m8Av32+M
開発環境としてDocker(というかコンテナ)使うのは環境汚さないで済むから寧ろ推奨する
VSCodeのRemote Developmentなんかのおかげで開発環境としてのコンテナがものすごく扱いやすくなったのも大きい
VSCodeのRemote Developmentなんかのおかげで開発環境としてのコンテナがものすごく扱いやすくなったのも大きい
2020/01/26(日) 11:56:04.11ID:BR48jIcb
今まで仮想マシンや物理マシンに対して、ansibleみたいなツールを使って設定の自動化をしていた
これがdockerになると、コンテナに対する設定はdockerfileに書くから、ansibleみたいなツールは必要なくなるという認識でええのかね
これがdockerになると、コンテナに対する設定はdockerfileに書くから、ansibleみたいなツールは必要なくなるという認識でええのかね
2020/01/26(日) 12:26:39.51ID:OzJ+Z2xw
>>500
Ansibleのメリットは複数のホストに跨った設定を一貫して管理できることであり、
そもそもDockerfileで置き換えられるような用途であればシェルスクリプトで十分だ
元々Ansibleなんか必要ない
コンテナ時代にAnsibleを使うとすればクラスタの構築や管理においてだが、普通はGKS、EKS、ECS使ってポチるだけだから小難しい構成管理なんか要らない
Ansibleのメリットは複数のホストに跨った設定を一貫して管理できることであり、
そもそもDockerfileで置き換えられるような用途であればシェルスクリプトで十分だ
元々Ansibleなんか必要ない
コンテナ時代にAnsibleを使うとすればクラスタの構築や管理においてだが、普通はGKS、EKS、ECS使ってポチるだけだから小難しい構成管理なんか要らない
502login:Penguin
2020/01/26(日) 12:41:22.73ID:7x8NuhpY ECSを動かすにはクラスターが必要
クラスターは通常VPC、起動テンプレート、ASGが必要
ECSタスク定義やサービスが必要
定期実行はスケジュールドタスクの設定が必要
プライベートネットワークにEC2を置きつつ
EC2をインターネットに繋ぐにはNATゲートウェイが必要
HTTPの負荷分散やローリングデプロイには
ELBが必要
CDNにCloudFrontが必要
データの保存先としてRDSやS3も必要
一部リソースはIAMロールの設定も必要
イメージ置き場にECRリポジトリも必要
これ全部ポチポチでやんの?
terraform使えよ
クラスターは通常VPC、起動テンプレート、ASGが必要
ECSタスク定義やサービスが必要
定期実行はスケジュールドタスクの設定が必要
プライベートネットワークにEC2を置きつつ
EC2をインターネットに繋ぐにはNATゲートウェイが必要
HTTPの負荷分散やローリングデプロイには
ELBが必要
CDNにCloudFrontが必要
データの保存先としてRDSやS3も必要
一部リソースはIAMロールの設定も必要
イメージ置き場にECRリポジトリも必要
これ全部ポチポチでやんの?
terraform使えよ
2020/01/26(日) 12:41:34.96ID:UB3s9UX0
2020/01/26(日) 17:42:21.26ID:oh//L3LW
>>500
Ansibleでできることを中の人が教えます - インストールと実行?EC2へのNginx投入までを学ぼう
https://employment.en-japan.com/engineerhub/entry/2019/04/12/103000
> 現在では構成管理にとどまらずその守備範囲を広げ、
> アプリケーションのデプロイやオーケストレーションなどにも利用できるようになりました。
↑この違い
インフラ担当者がアプリの複雑なデプロイまでやってた時代があった。
アプリを動かすにこれそれのパッケージが必要だから入れるとか入れ替えるとか
入れるだけならまだしも、複数のパッケージを入れるとか、
しかも標準パッケージにないものとか怖くてやってられない。
それが一時期、Ansibleでなんでもできるぜーって冪等性でどんなマシンでも
いっぺんに同じ状態にできるぜー(嘘)となってアプリの複雑なデプロイをAnsibleでやる時代があった。
冪等性があるといっても実際にはやってみなきゃわからんこともあるわけで
複雑なデプロイをAnsibleでやるのは苦痛でしか無い。
Ansibleはバージョン依存がひどすぎるから。
んでDockerがでてきた。アプリの複雑デプロイはDockerコンテナの起動という、
たった一つ(もしくは数個)の命令に置き換えられるようになった。
とはいってもこれは「アプリケーションのデプロイ」であって
構成管理やオーケストレーションの話とは関係ない
DockerベースになるとオーケストレーションはKubernetesを使うことが多い
守備範囲を広げたAnsibleは、元の構成管理だけをするように戻りつつある
いろいろ手を広げすぎたんだよ、やつは。
Ansibleでできることを中の人が教えます - インストールと実行?EC2へのNginx投入までを学ぼう
https://employment.en-japan.com/engineerhub/entry/2019/04/12/103000
> 現在では構成管理にとどまらずその守備範囲を広げ、
> アプリケーションのデプロイやオーケストレーションなどにも利用できるようになりました。
↑この違い
インフラ担当者がアプリの複雑なデプロイまでやってた時代があった。
アプリを動かすにこれそれのパッケージが必要だから入れるとか入れ替えるとか
入れるだけならまだしも、複数のパッケージを入れるとか、
しかも標準パッケージにないものとか怖くてやってられない。
それが一時期、Ansibleでなんでもできるぜーって冪等性でどんなマシンでも
いっぺんに同じ状態にできるぜー(嘘)となってアプリの複雑なデプロイをAnsibleでやる時代があった。
冪等性があるといっても実際にはやってみなきゃわからんこともあるわけで
複雑なデプロイをAnsibleでやるのは苦痛でしか無い。
Ansibleはバージョン依存がひどすぎるから。
んでDockerがでてきた。アプリの複雑デプロイはDockerコンテナの起動という、
たった一つ(もしくは数個)の命令に置き換えられるようになった。
とはいってもこれは「アプリケーションのデプロイ」であって
構成管理やオーケストレーションの話とは関係ない
DockerベースになるとオーケストレーションはKubernetesを使うことが多い
守備範囲を広げたAnsibleは、元の構成管理だけをするように戻りつつある
いろいろ手を広げすぎたんだよ、やつは。
2020/01/26(日) 17:46:42.25ID:oh//L3LW
>>502
GCPならデプロイメントマネージャーという
クラウドサービス標準で、自社のクラウドを適切にサポートした
純正機能があるわけだけど、そこに外部が作ったterraformを使う意味あるの?
terraformという第三者が絡むせいで制限とか互換性問題とか生まれてるでしょ?
GCPならデプロイメントマネージャーという
クラウドサービス標準で、自社のクラウドを適切にサポートした
純正機能があるわけだけど、そこに外部が作ったterraformを使う意味あるの?
terraformという第三者が絡むせいで制限とか互換性問題とか生まれてるでしょ?
2020/01/26(日) 18:15:00.87ID:oh//L3LW
> そもそもDockerfileで置き換えられるような用途であればシェルスクリプトで十分だ
いつも思うけど「シェルスクリプトで十分だ」って考え方なんなんだろうね。
「シェルスクリプトが適切だ」が正しいと思うんだけど
シェルスクリプトが適切な問題を、プログラム言語でやろうとすると
めんどくさくなるよ。
リダイレクトとかパイプとか、実行環境を整える所から必要になってめんどくさい。
いつも思うけど「シェルスクリプトで十分だ」って考え方なんなんだろうね。
「シェルスクリプトが適切だ」が正しいと思うんだけど
シェルスクリプトが適切な問題を、プログラム言語でやろうとすると
めんどくさくなるよ。
リダイレクトとかパイプとか、実行環境を整える所から必要になってめんどくさい。
2020/01/26(日) 20:17:48.43ID:Dr6wHv91
Ansibleが担うのはprovisioningでDockerなどのコンテナはdeploymentのイメージがある
508login:Penguin
2020/01/26(日) 21:03:20.89ID:7x8NuhpY AWSはCloudFormationあるけど
terraformより色々使いづらい点が多い
AWS製にも関わらず
たまにCloudFormationでだけ設定できない項目があったりする
S3の期限切れ削除マーカーの削除の設定が
何故か未だに未実装
https://stackoverflow.com/questions/40179860/support-for-expired-object-delete-marker-with-cloudformation
この質問が投稿されたのは2016年10月だが
2020年になっても放置
忘れられているっぽい
terraformより色々使いづらい点が多い
AWS製にも関わらず
たまにCloudFormationでだけ設定できない項目があったりする
S3の期限切れ削除マーカーの削除の設定が
何故か未だに未実装
https://stackoverflow.com/questions/40179860/support-for-expired-object-delete-marker-with-cloudformation
この質問が投稿されたのは2016年10月だが
2020年になっても放置
忘れられているっぽい
2020/01/26(日) 21:12:50.84ID:Sxuz1Gfw
まあ本家のツールが使いにくいっていうのならTerraformとかの意味があると思うけど
あとAWSとGCPを行ったり来たりしたり、同じものを別々の場所に構築するとか
コード共通でできるんでしょ?しらんけどw
あとAWSとGCPを行ったり来たりしたり、同じものを別々の場所に構築するとか
コード共通でできるんでしょ?しらんけどw
510login:Penguin
2020/01/26(日) 21:37:08.16ID:7x8NuhpY マルチクラウドは出来るらしいがやったことない
GCPやAzureは使ったことが無いし
開発環境と同じ構成で
EC2インスタンスのスペックやドメインだけ変えて作るのは可能
Terraformの方が便利とは言っても
複数モジュールの同時デプロイや
モジュール間の値の受け渡しが
Terraformだけでは不便なので
最近Terragruntも使い始めた
コスト削減のために、開発環境では使わない機能がある、
あるいは複数環境で1つのリソースを共有する場合に
巨大モジュールを作って大量の変数
でAWSリソースを作るか作らないかを制御するより
Terraformモジュールを分けた方が良いというのもある
Kubernetesを使ってもインフラの管理から完全に逃れることはできない
GCPやAzureは使ったことが無いし
開発環境と同じ構成で
EC2インスタンスのスペックやドメインだけ変えて作るのは可能
Terraformの方が便利とは言っても
複数モジュールの同時デプロイや
モジュール間の値の受け渡しが
Terraformだけでは不便なので
最近Terragruntも使い始めた
コスト削減のために、開発環境では使わない機能がある、
あるいは複数環境で1つのリソースを共有する場合に
巨大モジュールを作って大量の変数
でAWSリソースを作るか作らないかを制御するより
Terraformモジュールを分けた方が良いというのもある
Kubernetesを使ってもインフラの管理から完全に逃れることはできない
511login:Penguin
2020/01/26(日) 21:48:04.47ID:7x8NuhpY TerraformのKubernetesプロバイダーで
helmのデプロイやKubernetesリソースのデプロイも出来る
TerraformのAWSプロバイダーでIAMロールを作成して
kiamで特定ポッドのみにAWSへのアクセス権限付与したりする合わせ技も可能
しかし微妙にかゆいところに手が届かない感はある
公式KubernetesプロバイダーはKubernetesリソースをHCLで書く必要がある
YAMLをそのまま使いたい、CRDを使いたい場合は
公式のKubernetesプロバイダーでは無理
非公式のプロバイダーが必要
banzaicloudのk8sってやつ
CRDが使えないって割と重大な欠陥の気がする
helmは最近v3が出たが
公式Terraformプロバイダーはまだv2までの対応
helmのデプロイやKubernetesリソースのデプロイも出来る
TerraformのAWSプロバイダーでIAMロールを作成して
kiamで特定ポッドのみにAWSへのアクセス権限付与したりする合わせ技も可能
しかし微妙にかゆいところに手が届かない感はある
公式KubernetesプロバイダーはKubernetesリソースをHCLで書く必要がある
YAMLをそのまま使いたい、CRDを使いたい場合は
公式のKubernetesプロバイダーでは無理
非公式のプロバイダーが必要
banzaicloudのk8sってやつ
CRDが使えないって割と重大な欠陥の気がする
helmは最近v3が出たが
公式Terraformプロバイダーはまだv2までの対応
2020/01/26(日) 23:59:58.56ID:o6VABBUy
なにか便利な機能を提供してくれるならいいけど、
「使い方を変えるだけ」の道具はいらないなぁ
公式で同じことできるんでしょ?
それが簡単になったわけじゃなくて
使い方を変えるだけでしょ?
そしてそのプラバイダーが、ある機能に
対応してない困ったぞーっていうのを
永遠と繰り返してるでしょ?
「使い方を変えるだけ」の道具はいらないなぁ
公式で同じことできるんでしょ?
それが簡単になったわけじゃなくて
使い方を変えるだけでしょ?
そしてそのプラバイダーが、ある機能に
対応してない困ったぞーっていうのを
永遠と繰り返してるでしょ?
513login:Penguin
2020/01/27(月) 07:40:21.21ID:xCTAmbZl 新しいものにどんどんチャレンジして報告するべきじゃないのかな。
それがコミュニティへの貢献ってものでしょ。
キミたちは人柱なんだから。
それがコミュニティへの貢献ってものでしょ。
キミたちは人柱なんだから。
2020/01/27(月) 10:45:17.66ID:oWpDpuvr
WindowsのDocker Desktopを2.2にアップグレードしてから、マウントしたボリュームが時々書き込めなくなってエラーになる状態になって
2.1に戻したら直った
調べたら2.1から2.2で内部構造がだいぶ変わってるんやね
2.1に戻したら直った
調べたら2.1から2.2で内部構造がだいぶ変わってるんやね
2020/01/27(月) 20:04:40.96ID:VdNPUB7+
516login:Penguin
2020/01/28(火) 03:27:51.51ID:alr/KPAT この前、Docker HubのREAME.mdがGitHubのREADME.mdを中途半端に
持っていくって話をした件だけどGitHub Actionsで同期取るっぽいのがあった
これで指定したやつを持っていってくれるかも
https://github.com/marketplace/actions/docker-hub-readme-description-sync
持っていくって話をした件だけどGitHub Actionsで同期取るっぽいのがあった
これで指定したやつを持っていってくれるかも
https://github.com/marketplace/actions/docker-hub-readme-description-sync
517login:Penguin
2020/01/29(水) 14:22:12.33ID:nynZIk47 k3s使ったらメモリー1GBのインスタンス3つでもHA出来る?
2020/01/29(水) 14:26:25.10ID:givpjA6N
k3sはメモリ512MBしか(笑)食わないんだろ?
ならアプリが512MBまでなら動くんじゃね?
k3sでこれだけだと、k8sはどんだけ食うんだよw
カーネルの使用メモリが少なくても台無し
ならアプリが512MBまでなら動くんじゃね?
k3sでこれだけだと、k8sはどんだけ食うんだよw
カーネルの使用メモリが少なくても台無し
519login:Penguin
2020/01/29(水) 14:29:38.68ID:6Q7T2cbs workerは別途用意するだろJK
520login:Penguin
2020/01/29(水) 19:59:16.23ID:5uyhmzFh 本家k8sは1GB RAMでは足りない気がする
kiamのサーバーと
helm v2のtiller
kube-iam-authenticator
controllerにこの3つを置いているが
2GBから1GBに減らしたらAPIサーバーが使えなくなった
だから本家は最低でも2GBのメモリーが必要
kiamのサーバーと
helm v2のtiller
kube-iam-authenticator
controllerにこの3つを置いているが
2GBから1GBに減らしたらAPIサーバーが使えなくなった
だから本家は最低でも2GBのメモリーが必要
521login:Penguin
2020/01/29(水) 19:59:44.39ID:5uyhmzFh etcdも同居してるからさらに厳しい
2020/01/29(水) 20:00:56.28ID:3wP3LyoD
なんでk8sってそんなにメモリ食うんだろう?
ただコンテナを管理するだけの仕組みじゃんか
ただコンテナを管理するだけの仕組みじゃんか
2020/01/29(水) 20:02:25.17ID:3wP3LyoD
高いVMインスタンスを売りつけるための
戦略としか思えないな
ウェブサーバーとか数十MB程度で動くのに
k8s化した途端1GBとか必要になる。アホかと
戦略としか思えないな
ウェブサーバーとか数十MB程度で動くのに
k8s化した途端1GBとか必要になる。アホかと
524login:Penguin
2020/01/29(水) 20:05:31.56ID:5uyhmzFh525login:Penguin
2020/01/29(水) 20:07:53.93ID:5uyhmzFh ワーカーノードは1GBでも良い
コントローラーノードの金が気になるならGCP行ってGKE使え
うちもGKE使いたい所だが
AWSを使わねばならない
のっぴきならない事情がある
コントローラーノードの金が気になるならGCP行ってGKE使え
うちもGKE使いたい所だが
AWSを使わねばならない
のっぴきならない事情がある
2020/01/29(水) 20:16:03.69ID:3wP3LyoD
kubernetsとかさ、クラウドの上にクラウドを作ってるみたいで
気持ち悪いんだよね。せっかく便利に使えるようになったクラウドを
なぜコンテナベースで再発明するのか?
気持ち悪いんだよね。せっかく便利に使えるようになったクラウドを
なぜコンテナベースで再発明するのか?
2020/01/29(水) 20:57:23.22ID:zxPSLJvv
>>526
インフラエンジニアの雇用を維持するためだよ。マジで。
自社サービス系のインフラエンジニアって基本的にトラブルがなければ仕事ないから、
自然と問題なく動いているもののオーバーエンジニアリングに向かうものだ。
インフラエンジニアの雇用を維持するためだよ。マジで。
自社サービス系のインフラエンジニアって基本的にトラブルがなければ仕事ないから、
自然と問題なく動いているもののオーバーエンジニアリングに向かうものだ。
2020/01/29(水) 21:15:29.61ID:3wP3LyoD
オーバーエンジニアリング程度なら良いけどさ
メモリ食い過ぎで前より不便にしてるだけなんだよな
インフラ系って、変わってるだけで、何も良くなってない
メモリ食い過ぎで前より不便にしてるだけなんだよな
インフラ系って、変わってるだけで、何も良くなってない
529login:Penguin
2020/01/29(水) 21:33:22.35ID:9OcLAXSy2020/01/29(水) 22:10:05.14ID:OCMkZsaj
>>526
元々クラウドのための仕様なんだが……。
ノードの数を負荷に応じて変更できるから、処理が多い時間はノード増やして処理し、少ない時間はノードを減らす事でコストを最適化できるのがk8sの売り。
規模が小さいとこの利点(オートスケーリング)が意味をなさなくなる。
元々クラウドのための仕様なんだが……。
ノードの数を負荷に応じて変更できるから、処理が多い時間はノード増やして処理し、少ない時間はノードを減らす事でコストを最適化できるのがk8sの売り。
規模が小さいとこの利点(オートスケーリング)が意味をなさなくなる。
531login:Penguin
2020/01/29(水) 22:23:27.34ID:BTLuyg2X 1台しかないならdocker-composeでよくね?
1台しかないなら
1台しかないなら
2020/01/29(水) 22:35:55.91ID:OCMkZsaj
従来は高価なオンプレを1台買ってスペック余らせるのが普通だったが、今はクラスタにする事で、オートスケーリングによりスペック(≒コスト)を最適化できるようになった。
ハイスペック1台ならdockerで十分だが、コスト面で最適化されてるかな?という話。
ハイスペック1台ならdockerで十分だが、コスト面で最適化されてるかな?という話。
2020/01/29(水) 23:26:28.52ID:K0p5wp9W
2020/01/29(水) 23:50:39.74ID:OCMkZsaj
>>533
k8sはECSより高機能で汎用的だが学習コスト高めという印象。ECSはベンダー製なので、クラスタに関してはその通りだろうが、ベンダーロックインの問題がある。
ベンダーロックインの問題を気にせず、ECSで案件が済むならECSだろう。
k8sはECSより高機能で汎用的だが学習コスト高めという印象。ECSはベンダー製なので、クラスタに関してはその通りだろうが、ベンダーロックインの問題がある。
ベンダーロックインの問題を気にせず、ECSで案件が済むならECSだろう。
2020/01/30(木) 00:20:34.76ID:KTDe4H4D
たかがコンテナ立ち上げるだけのことにベンダーロックインねえ
事業視点で言えば、k8sに習熟した少数のエンジニアにインフラをロックインされることの方がよほどリスクが大きいと思うけどね
事業視点で言えば、k8sに習熟した少数のエンジニアにインフラをロックインされることの方がよほどリスクが大きいと思うけどね
2020/01/30(木) 00:26:20.89ID:OBlH/P8v
>>528
単に使い所を間違ってるだけとしか思えんが
そもそも別にk8s使わなくてもdockerはある程度規模に応じたオーケストレーションを標準に
近い形で用意しているはずで、それでは管理できないほど巨大な規模のサービスを運用するから
k8sですよ、って事で、当然メモリが食いすぎとか文句言う人が使う物じゃない気はする。
そういう人にはもっと小規模な物あるでしょ?
昔Googleの論文元にHadoop作って訳も分からずに食いついて先進的だカッコいいぜ俺スゲーとか
いって後からやっぱ遅ーえわこれwとかいってた連中思い出すね。
自分たちが間違った場所に適用してるとは最後まで考えないw
単に使い所を間違ってるだけとしか思えんが
そもそも別にk8s使わなくてもdockerはある程度規模に応じたオーケストレーションを標準に
近い形で用意しているはずで、それでは管理できないほど巨大な規模のサービスを運用するから
k8sですよ、って事で、当然メモリが食いすぎとか文句言う人が使う物じゃない気はする。
そういう人にはもっと小規模な物あるでしょ?
昔Googleの論文元にHadoop作って訳も分からずに食いついて先進的だカッコいいぜ俺スゲーとか
いって後からやっぱ遅ーえわこれwとかいってた連中思い出すね。
自分たちが間違った場所に適用してるとは最後まで考えないw
2020/01/30(木) 01:26:01.87ID:pAQXSf/G
2020/01/30(木) 02:46:59.35ID:N78kTYg5
>>533
> k8sは決まったサイズのクラスタを効率的に使うにはいいけど、クラスタそのもののスケーリングにはあまり適してないよ
そうだよね?
広大なCPU空間を確保しておいて、自由に使いましょうというのならいいけど
コストの観点から空間自体を減らしたり増やしたりってのは適してないと思う
スケーリングならすでにGCEとかのクラウドの仕組みで実現できたじゃんって思う
そこにGKEを持ってきて使いづらくしたと思ったら、
どうせコンテナベースで課金とかするでしょ?
なんでクラウドの中にさらにクラウド作ってるんだろうって思う
> k8sは決まったサイズのクラスタを効率的に使うにはいいけど、クラスタそのもののスケーリングにはあまり適してないよ
そうだよね?
広大なCPU空間を確保しておいて、自由に使いましょうというのならいいけど
コストの観点から空間自体を減らしたり増やしたりってのは適してないと思う
スケーリングならすでにGCEとかのクラウドの仕組みで実現できたじゃんって思う
そこにGKEを持ってきて使いづらくしたと思ったら、
どうせコンテナベースで課金とかするでしょ?
なんでクラウドの中にさらにクラウド作ってるんだろうって思う
2020/01/30(木) 02:49:16.80ID:N78kTYg5
>>537
> 個人的にはk8sよりマルチビルドのdocker file の方が難解だな
マルチステージビルドの事? どんだけ複雑なんだよw
あんなの、中間ファイルは不要だから
前のイメージでビルドしてできた生成物のみ
コピーして使いましょうってだけじゃんか
> 個人的にはk8sよりマルチビルドのdocker file の方が難解だな
マルチステージビルドの事? どんだけ複雑なんだよw
あんなの、中間ファイルは不要だから
前のイメージでビルドしてできた生成物のみ
コピーして使いましょうってだけじゃんか
2020/01/30(木) 03:04:05.04ID:N78kTYg5
k8sの嫌なところは短いタイミングで強制アップデートな所だな
これがあるからストレージとしては使えない
データベースは別のサービスを使えってことなんだろうけど、
これがあるからHAの代わりにはならないんだよね
これがあるからストレージとしては使えない
データベースは別のサービスを使えってことなんだろうけど、
これがあるからHAの代わりにはならないんだよね
541login:Penguin
2020/01/30(木) 08:22:30.46ID:x2o8za8v 自前k8sなら誰も面倒見てくれないので
アップデートもされない
証明書の期限短くすると
期限切れした時にAPIサーバーと通信できなくなるけど
アップデートもされない
証明書の期限短くすると
期限切れした時にAPIサーバーと通信できなくなるけど
542login:Penguin
2020/01/30(木) 08:57:49.48ID:JRKnodoF APIサーバーの証明書は自動更新機能があった気がする
>>538
ワーカーノードは今まで通り課金される
k8sでのサーバーレス関数の実行は
EKSやGKEで最近できるようになったが
一部機能制限がある上に
確保するリソースが多いと通常通り
ワーカーノードを用意した方が安くなる事がある
サーバーレスはコールドスタートによる遅延の問題なども多分まだある
>>538
ワーカーノードは今まで通り課金される
k8sでのサーバーレス関数の実行は
EKSやGKEで最近できるようになったが
一部機能制限がある上に
確保するリソースが多いと通常通り
ワーカーノードを用意した方が安くなる事がある
サーバーレスはコールドスタートによる遅延の問題なども多分まだある
543login:Penguin
2020/01/30(木) 09:18:13.47ID:JRKnodoF サーバーレスが利用出来ない場合の次善の策は
Cluster Autoscaler
ポッドの数に応じてノード数を増減出来る
負荷ベースでポッド数を増減する
水平ポッドオートスケーラーと組み合わせる事で、ノード数を負荷に応じて自動で増減出来る
とは言ってもノードの起動は時間がかかるので
すぐには無理だが
Cluster Autoscaler
ポッドの数に応じてノード数を増減出来る
負荷ベースでポッド数を増減する
水平ポッドオートスケーラーと組み合わせる事で、ノード数を負荷に応じて自動で増減出来る
とは言ってもノードの起動は時間がかかるので
すぐには無理だが
544login:Penguin
2020/01/30(木) 09:18:14.85ID:JRKnodoF サーバーレスが利用出来ない場合の次善の策は
Cluster Autoscaler
ポッドの数に応じてノード数を増減出来る
負荷ベースでポッド数を増減する
水平ポッドオートスケーラーと組み合わせる事で、ノード数を負荷に応じて自動で増減出来る
とは言ってもノードの起動は時間がかかるので
すぐには無理だが
Cluster Autoscaler
ポッドの数に応じてノード数を増減出来る
負荷ベースでポッド数を増減する
水平ポッドオートスケーラーと組み合わせる事で、ノード数を負荷に応じて自動で増減出来る
とは言ってもノードの起動は時間がかかるので
すぐには無理だが
2020/01/30(木) 11:27:06.60ID:pAQXSf/G
>>539
他人が書いたのを検証するのが難しいってことね。他人に依存するかどうかという視点の話。
他人が書いたのを検証するのが難しいってことね。他人に依存するかどうかという視点の話。
2020/01/30(木) 11:44:27.37ID:N78kTYg5
>>543
ノードの増減はk8sなくてもできたじゃん?
・負荷の応じてノードが増減できる
だったのが
・負荷に応じてでポットが増減できて、ポットの増減に応じてノードが増減できる
に変わってるじゃん?
二段階になってややこしくなってるし
ノード(課金対象)が増減しない範囲でのポットの増減が存在するわけで、
こんなんで正確な見積もりなんかできるの?
k8sはプロジェクト単位で使うものじゃななくて、
会社として広大なクラスタ空間を予め確保して、その中で複数の異なる
サブプロジェクトをいくつも動かすって使い方をする
Googleぐらいしかまともに使えないよ
ノードの増減はk8sなくてもできたじゃん?
・負荷の応じてノードが増減できる
だったのが
・負荷に応じてでポットが増減できて、ポットの増減に応じてノードが増減できる
に変わってるじゃん?
二段階になってややこしくなってるし
ノード(課金対象)が増減しない範囲でのポットの増減が存在するわけで、
こんなんで正確な見積もりなんかできるの?
k8sはプロジェクト単位で使うものじゃななくて、
会社として広大なクラスタ空間を予め確保して、その中で複数の異なる
サブプロジェクトをいくつも動かすって使い方をする
Googleぐらいしかまともに使えないよ
2020/01/30(木) 11:52:10.03ID:N78kTYg5
k8sはノード=1つないし少数のそれぞれ違うポットを配置するという使い方じゃないんだよね
1つのノードが複数のポットを動かすスペックを持っていて、
多数の小さなポッドをその中で動かすという使い方をする。
1つのノードで同じ種類のポットがたくさん生まれて
消えるような場合じゃないとうまく使えない
自動管理されたHA環境ではないんだよね
1つのノードが複数のポットを動かすスペックを持っていて、
多数の小さなポッドをその中で動かすという使い方をする。
1つのノードで同じ種類のポットがたくさん生まれて
消えるような場合じゃないとうまく使えない
自動管理されたHA環境ではないんだよね
548login:Penguin
2020/01/30(木) 17:42:40.51ID:IVBe8aPz ECSは当初タスク数がEC2インスタンス数と連動しない残念仕様だった
こちらもタスク数に応じてインスタンスが生成される
https://dev.classmethod.jp/cloud/aws/aws-ecs-cluster-auto-scaling/
5タスクを同時に動かそうとすると、
5台のEC2インスタンスが生成される
超シンプル
こちらもタスク数に応じてインスタンスが生成される
https://dev.classmethod.jp/cloud/aws/aws-ecs-cluster-auto-scaling/
5タスクを同時に動かそうとすると、
5台のEC2インスタンスが生成される
超シンプル
549login:Penguin
2020/01/30(木) 17:44:08.93ID:krDeGaUI ECSサービス開始当初はEC2の数とタスクの数を連動させる機能が
無かったが、去年追加された
無かったが、去年追加された
2020/01/30(木) 18:28:37.31ID:N78kTYg5
>>548
それは一般的な使い方としてはわかりやすいし、できるべきだよね。
ただk8sのそもそもの使い方としては、ずれてるんだと思う
その使い方であれば、インスタンスのオートスケールと変わらないわけだし
コンテナが動かせるというメリットはあるけどね
まあ各クラウドの間で共通のインターフェースができて
どこでも動かせるようになるのはいいと思うけど
そのためにもっと大掛かりなシステムのためのk8sを流用してる感が大きい
もっと間を減らしてシンプルに出来なかったのかねぇ
やっぱりクラウドを使ってクラウドを作ってるように見えてしまう
k8sはある程度の空間を確保していて、そこで小さなポッドを多数起動して
全体の○%を超えたり減ったりしたら、クラスタを増減させて
通常はある程度の余力をもたせておく(遊んでるサーバーがある)という使い方なんだろう
インスタンス数を意識して最小の金額にするためのものじゃないかな
それは一般的な使い方としてはわかりやすいし、できるべきだよね。
ただk8sのそもそもの使い方としては、ずれてるんだと思う
その使い方であれば、インスタンスのオートスケールと変わらないわけだし
コンテナが動かせるというメリットはあるけどね
まあ各クラウドの間で共通のインターフェースができて
どこでも動かせるようになるのはいいと思うけど
そのためにもっと大掛かりなシステムのためのk8sを流用してる感が大きい
もっと間を減らしてシンプルに出来なかったのかねぇ
やっぱりクラウドを使ってクラウドを作ってるように見えてしまう
k8sはある程度の空間を確保していて、そこで小さなポッドを多数起動して
全体の○%を超えたり減ったりしたら、クラスタを増減させて
通常はある程度の余力をもたせておく(遊んでるサーバーがある)という使い方なんだろう
インスタンス数を意識して最小の金額にするためのものじゃないかな
551login:Penguin
2020/01/30(木) 19:32:50.77ID:RH+cWAif ECSも、タスク数をCPU使用率などのメトリクスと連動させれば、
CPU数に応じて「タスク数とインスタンス数」を同時に増やすことが可能
何が違うと言うのか
ECSも以前から「それぞれ別々に」インスタンス数とタスク数を増減する事は出来たが、
協調せずバラバラに動くので、
負荷の増加に反応してサービスのタスク数は増えたのに、
インスタンス数がちゃんと増えなかった、
あるいはインスタンス数は増えたのにサービス数が増えないとか
そんな動きになる可能性があった
1つのノードに複数のコンテナがあるような状況では
さらに話がややこしくなっていた
ノードのCPU使用率が一時的に増加していても、それはサービスの需要が増えたからではなく、
定期バッチ処理で負荷が一時的に高くなったのが原因だったり
CPU数に応じて「タスク数とインスタンス数」を同時に増やすことが可能
何が違うと言うのか
ECSも以前から「それぞれ別々に」インスタンス数とタスク数を増減する事は出来たが、
協調せずバラバラに動くので、
負荷の増加に反応してサービスのタスク数は増えたのに、
インスタンス数がちゃんと増えなかった、
あるいはインスタンス数は増えたのにサービス数が増えないとか
そんな動きになる可能性があった
1つのノードに複数のコンテナがあるような状況では
さらに話がややこしくなっていた
ノードのCPU使用率が一時的に増加していても、それはサービスの需要が増えたからではなく、
定期バッチ処理で負荷が一時的に高くなったのが原因だったり
552login:Penguin
2020/01/30(木) 19:38:30.95ID:RH+cWAif Kubernetesはずっと前から
ポッド数によるノード増減ができた
パクったのはECS
自動でノード数の増減が要らない、
常に2台で良いって言うなら
Cluster AutoScalerを使わなくても良い
ポッド数によるノード増減ができた
パクったのはECS
自動でノード数の増減が要らない、
常に2台で良いって言うなら
Cluster AutoScalerを使わなくても良い
2020/01/30(木) 20:00:23.22ID:VJ/WHmRQ
そもそもECSって目的毎にクラスタ立てるもんだろ?
何でもかんでも一つのクラスタで済ませようなどと考えなければ従来のインスタンスベースのスケーリングで問題ない
それこそ「クラウドなんだから」だ
ID:RH+cWAifの主張は、クラウドの中にクラウドを作っているという批判に対する反論としては的外れに感じる
何でもかんでも一つのクラスタで済ませようなどと考えなければ従来のインスタンスベースのスケーリングで問題ない
それこそ「クラウドなんだから」だ
ID:RH+cWAifの主張は、クラウドの中にクラウドを作っているという批判に対する反論としては的外れに感じる
2020/01/30(木) 20:33:30.31ID:rH68C/el
RH+cWAifは別にクラウドの中にクラウドが〜に対する回答ではない様な。
クラウドが〜は自分で解答書いてるし。
>そのためにもっと大掛かりなシステムのためのk8sを流用してる感が大きい
結局そういうことだよね。
https://aws.アマゾン.com/jp/docker/
Q: Docker Swarm、Kubernetes、Amazon ECS の違いは何ですか?
>多くの Docker コンテナを実行する場合は、Docker Swarm、Kubernetes、Amazon Elastic Container Service (ECS) などの
>オーケストレーションツールを使用することで、何千 (または何百万) ものコンテナの開始、停止、監視が可能になります。
日本は法人向けサービスやったとしても会社の絶対数が少ないしそもそも余程のことが無い限り
1サービスあたりのサーバは10台超えることは無い。じゃあ10台でオートスケールやるコンテナの仕組みは何なのさ?
ってニーズに全然答えようとしていない。
クラウドが〜は自分で解答書いてるし。
>そのためにもっと大掛かりなシステムのためのk8sを流用してる感が大きい
結局そういうことだよね。
https://aws.アマゾン.com/jp/docker/
Q: Docker Swarm、Kubernetes、Amazon ECS の違いは何ですか?
>多くの Docker コンテナを実行する場合は、Docker Swarm、Kubernetes、Amazon Elastic Container Service (ECS) などの
>オーケストレーションツールを使用することで、何千 (または何百万) ものコンテナの開始、停止、監視が可能になります。
日本は法人向けサービスやったとしても会社の絶対数が少ないしそもそも余程のことが無い限り
1サービスあたりのサーバは10台超えることは無い。じゃあ10台でオートスケールやるコンテナの仕組みは何なのさ?
ってニーズに全然答えようとしていない。
2020/01/30(木) 20:50:52.19ID:obKqsaeD
>>551
一番重要なのはコストの最適化なんだから、タスク数もしくは負荷に応じたインスタンス数の増減なんだよね。
> 負荷の増加に反応してサービスのタスク数は増えたのに、
> インスタンス数がちゃんと増えなかった、
そこな。スケールするのがコンテナとインスタンスの
二重になってるからすごく分かりづらい
そもそも一つのインスタンスの中で動くコンテナを増やしても
並列度は上ががっても処理速度は上がらんのよ
(CPUコアを使い切れるようにはなるだろうけど)
パッチ処理みたいに一つのデータを送ってコンテナで処理して終了みたいのであればわかりやすいけど
ウェブサーバーみたいにそれ自体が並列処理対応になってるものの
コンテナを増やしたって何の意味もない。インスタンスの数を増やすか
インスタンスの性能をあげなきゃならないのに、間にコンテナの話が入り込んでくる
一番重要なのはコストの最適化なんだから、タスク数もしくは負荷に応じたインスタンス数の増減なんだよね。
> 負荷の増加に反応してサービスのタスク数は増えたのに、
> インスタンス数がちゃんと増えなかった、
そこな。スケールするのがコンテナとインスタンスの
二重になってるからすごく分かりづらい
そもそも一つのインスタンスの中で動くコンテナを増やしても
並列度は上ががっても処理速度は上がらんのよ
(CPUコアを使い切れるようにはなるだろうけど)
パッチ処理みたいに一つのデータを送ってコンテナで処理して終了みたいのであればわかりやすいけど
ウェブサーバーみたいにそれ自体が並列処理対応になってるものの
コンテナを増やしたって何の意味もない。インスタンスの数を増やすか
インスタンスの性能をあげなきゃならないのに、間にコンテナの話が入り込んでくる
2020/01/30(木) 21:31:46.45ID:rH68C/el
>スケールするのがコンテナとインスタンスの
>二重になってるからすごく分かりづらい
分かりにくいのはそうなんだろうけど、インスタンスを跨ぐコンテナはネットワークに
仕掛けしないと駄目だからしょうがないんじゃないの?それはDockerのあの変な
ネットワークの仕組みの為だろうけど。
>(CPUコアを使い切れるようにはなるだろうけど)
結局インスタンス(VM)の上にコンテナ乗っけてるって時点でハードを使い切る
コンテナ技術のメリットは消えており、AmazonのECSはなんちゃってコンテナで
しかない気はする。
>二重になってるからすごく分かりづらい
分かりにくいのはそうなんだろうけど、インスタンスを跨ぐコンテナはネットワークに
仕掛けしないと駄目だからしょうがないんじゃないの?それはDockerのあの変な
ネットワークの仕組みの為だろうけど。
>(CPUコアを使い切れるようにはなるだろうけど)
結局インスタンス(VM)の上にコンテナ乗っけてるって時点でハードを使い切る
コンテナ技術のメリットは消えており、AmazonのECSはなんちゃってコンテナで
しかない気はする。
2020/01/30(木) 22:07:21.35ID:obKqsaeD
コンテナベースにするなら、インスタンスの存在は完全に見えなくしないとだめだろうね。
そして「これこれの性能を持ったコンテナ」を「いくつ使用するか」で課金する。
あとやっぱりノードのアップグレードに伴う再起動が大変
コンテナ数ノード数が少ないとサービス停止に陥ってしまう可能性が高くなる
アップグレードを放置するとそのうちバージョン古すぎて非対応になるし
なんでみんなk8s頑張ろうとしてるんだろう
殆どの用途では大変なだけじゃないか?
そして「これこれの性能を持ったコンテナ」を「いくつ使用するか」で課金する。
あとやっぱりノードのアップグレードに伴う再起動が大変
コンテナ数ノード数が少ないとサービス停止に陥ってしまう可能性が高くなる
アップグレードを放置するとそのうちバージョン古すぎて非対応になるし
なんでみんなk8s頑張ろうとしてるんだろう
殆どの用途では大変なだけじゃないか?
558login:Penguin
2020/01/30(木) 22:14:45.06ID:x2o8za8v Kubernetesの真の価値はそこで利用出来るソフトウェアにあるのでは?
サービスメッシュとかデータベースのオペレーターとか
なんかk8sで動くhelmチャートが動く環境が欲しいのでなければ
ECSとかでも良いし
そっちのほうが簡単と思う
クラウドの中にクラウドとか言うけどさ
サーバーに自分でインストールして
動かすソフトを作る側に取っては
Kubernetesだけ対応すれば
あらゆるクラウドで動くものが作れるようになった
自社のソフトウェアが様々なクラウドで動くのは、
ビジネスチャンスに繋がるんじゃね?
ソフト自体を配布するんじゃなくて
サービスとして売りたいなら
好きな物を使え
サービスメッシュとかデータベースのオペレーターとか
なんかk8sで動くhelmチャートが動く環境が欲しいのでなければ
ECSとかでも良いし
そっちのほうが簡単と思う
クラウドの中にクラウドとか言うけどさ
サーバーに自分でインストールして
動かすソフトを作る側に取っては
Kubernetesだけ対応すれば
あらゆるクラウドで動くものが作れるようになった
自社のソフトウェアが様々なクラウドで動くのは、
ビジネスチャンスに繋がるんじゃね?
ソフト自体を配布するんじゃなくて
サービスとして売りたいなら
好きな物を使え
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【通信】ahamo初の値上げ 「大盛りオプション」撤廃、40GB・60GB・120GBの3段階制に [自治郎★]
- 第2次大戦に触れトランプ氏「米中は同盟国」、当時は中華民国…「抗日」巡る中国の言説補強する恐れ ★8 [蚤の市★]
- 「暗い未来に子供を産みたくない…」それでも左派よりも右派の方が「たくさん子供を産む」のはなぜか【米研究】 ★2 [首都圏の虎★]
- 「習氏より先に言うとは…」 トランプ氏同盟国発言、日本政府内に困惑 ★3 [蚤の市★]
- 【サッカー】イエロー6枚、水を強奪、主審を追い回す…北朝鮮戦を前によみがえる3年前の蛮行 [ゴアマガラ★]
- 【サッカー】なでしこジャパン、3連覇へ危なげなく4強入り!GS20得点0失点→フィリピンを4-0撃破!観衆は1084人 [ゴアマガラ★]
- 日本、天気までジャップみたいに陰湿で暗くなってしまう…1ヶ月間もwwwwwwwwwwww [668024367]
- ダウン松本「これ、食べや?w」レイプした後に渡してそうな食べ物www [779857986]
- 【悲報】大谷翔平(10年1000億3年目DH専) .278 30本 81打点 OPS.901 野手WAR3.9←これ
- 過度な円安は金融市場が誤解したせいだった!!片山財務大臣が指摘 [668970678]
- まどかマギカの新作映画を6回見に行く人ってどう?
- 【悲報】ドコモ、料金値上げしても回線品質は向上しないと副社長が断言www [354616885]