第7回コンテナ型仮想化の情報交換会の発表資料です。 参考となる情報にはPDF中からリンクをしていますが、資料中のリンクは Speaker Deck 上ではクリックできないので PDF をダウンロードしてご覧ください。(2015-06-25スライド更新しています)
新しい監視ツールとして開発途上の Prometheus 概要と、インストール・設定方法、そして複数サーバのCPUやメモリ情報を参照したり、Docker コンテナ情報の取得方法、そしてアラートの確認の仕方を調べました。実際使い始めるまで少々とまどった所もあり、Prometheus を知りたい方、使いたい方向けに、ここで共有します。 ■ Prometheus とは? Prometheus(プロメテウス)は、オープンソースのサービス監視システムと時系列データベースであり、要は監視ツールです。先月末にバージョン 0.1.0 が公開され、目下開発が進んでいます。開発は、音楽のソーシャル・プラットフォームを展開しているSoundCloud社によって2012年から行われ、数千ものサーバを管理することが目的でした。現在はGitHub上で公開されています。開発言語は Go です。 ■ これまでの監視ツールと
はじめに 最近、Kubernetesを中心としたコンテナ環境やマイクロサービスの文脈において、「サービスメッシュ」「Istio」というキーワードを聞く機会が増えています。 「Istio」は、2018/7/31にバージョン1.0に到達したことが発表され、ますます注目されるオープンソースソフトウェアとなっています。また、自分が所属しているSIerであっても、最近「サービスメッシュ」という言葉を聞く機会が増えてきています。 本記事では、サービスメッシュの概要から、サービスメッシュを実現するソフトウェアについて、Web上の情報などを元に調査した内容を整理したいと思います。 サービスメッシュとは マイクロサービスの課題 サービスメッシュの説明をする前に、サービスメッシュの前提となるマイクロサービスにおいて、どのような課題が存在するか整理したいと思います。 Service Discovery(サービス
Red Hatは、同社が中心となってオープンソースで開発中のコンテナエンジン「Podman」がバージョン1.0に到達したことを発表しました。 Podmanはもともとコンテナエンジンの標準仕様であるOCI対応として開発されていた「cri-o」をベースに開発が始まったとされています。 Podmanはコンテナエンジンの標準仕様である「cri-o」に対応し、現在はDockerとほぼ同じDockerコマンドをサポートし、ベータ版のRed Hat Enterprise Linux 8にも同梱されています。 今回、Podmanが正式版となるバージョン1.0に到達したことで、Red Hat Enterprise Linux 8が正式版となったときにはDockerの代わりにPodmanが標準のコンテナエンジンになるとの指摘もあります。 Podmanのおもな特長は以下です。 Rootless containe
表題のような問題があり,その調査したという記録です.なお,結論を一言で言うと--initを使え,ということになります. そもそもDockerコンテナを起動すると,CMDあるいはENTRYPOINTに指定されたコマンドがコンテナ内でPID 1として起動します.これが何を意味するかと言うと,「CMDあるいはENTRYPOINTに指定されたコマンド」はそのコマンド自体の責務をまっとうするのと同時に,initプロセスとしての振る舞いも行わなければならないということになります (id:hayajo_77さんにこの辺を詳しく教えてもらいました,ありがとうございます). つまりPID 1で動いているプロセスは「SIGCHLDをトラップすることで孤児プロセスを適切に回収し,waitpidをかける」という処理も適切に行う必要があります. さて,puppeteerを使ってChromeブラウザを起動するとどうな
タイトル通りですが、1年目エンジニアのインフラのイの字も知らなかった私が1ヶ月半かけてKubernetesで環境構築するまでの失敗の軌跡です(そして環境構築できたのが奇跡)。 理想的にはこれを読めばインフラ初心者でもKubernetes(以下k8s)で環境構築できるところまで説明することですが、そういうわけでなく、環境構築の解説というより自分の失敗やつまづきポイント、役に立ったことをただただ書き連ねていきます。ただ他の初心者の方も同じようなところでつまづくこともあると思うので少しでもお役に立てたら嬉しいです。 バックエンド側で使った技術は以下になっています。 言語:Ruby(RoR) API:GraphQL インフラ:Azure その他:Docker、k8s 実際の実装でハマったところは各章の最後に教訓として簡単にまとめてはいますが、大事なことは先に結論として述べておきます。 Docker
KubernetesをGoogleが開発し、オープンソース化し、成功した経緯。関係者らが肉声で語るドキュメンタリー映像「Kubernetes: The Documentary」YouTubeで公開 ITエンジニア向けの転職紹介などキャリアサービスを提供しているHoneypot社は、Google、Red Hat、Cloud Native Computing Foundationの協力の下、Kubernetesの誕生から現在までをドキュメンタリー映像としてまとめた「Kubernetes: The Documentary」をYouTubeで公開しています(Part 1、Part 2)。 Do you know the story of @kubernetesio? Hear the details of how the project came to be from those who live
コンテナイメージのレジストリでは、脆弱性検査の実装が当たり前になっている。企業でKubernetesなどコンテナを使用するにあたって脆弱性対策がどれほど重要なものか理解するために、脆弱性検査や、関連する国際的な標準について整理した。 脆弱性(ぜいじゃくせい)とは 脆弱性とは、プログラムの動作の不備を悪用される情報セキュリティ上の弱点である。つまり、ソフトウェア上の問題が原因となって生じた欠陥であり、セキュリティホールとも呼ばれる。当然、ソフトウェア開発者は、脆弱性を産まないように細心の注意を払ってコード開発を進めるが、開発者が利用するオペレーティングシステムのライブラリやパッケージに含まれることもある。そのような事情から、開発者の責任範囲外に原因がある場合も多くある。 潜在的な脆弱性を突いた新たなクラッキングの手口が、時間の経過ともに発見される。そのことから、開発当初はコードに脆弱性は無い
Dockerは6月22日(日本時間23日早朝)に開催した「DockerCon 2015」の基調講演で、新しいコンテナランタイム「runC」を発表しました。 Docker Engineと互換、Linux、Windowsをネイティブサポート、ライブマイグレーションも runCのWebサイトの説明によると、runCはDocker Engineと同じ技術であるlibcontainer上に実装されており、Dockerと互換性を備え、従来のDockerイメージはそのまま実行可能。一方、コンテナはrunCの子プロセスとして起動し、デーモンが不要になることで管理が容易になるとのことです。 マイクロソフトとの協業の成果もrunCに投入され、LinuxとWindowsをネイティブにサポート。x86はもちろん、ARMとも協力し、ARMプロセッサもサポート。 runCは「It's available today,
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog LT の中で触れた環境を構築するデモコードを Vagrantfile にまとめて GitHub においていますのでよければ触ってみてください。ジョブ登録済の Jenkins が立ち上がるので全く同じ環境を試してもらえます。 yahoojapan/jenkins-with-docker-demo LT は5分でざっと流してしまったため、このエントリで補足します。 ジョブ実行毎にクリーンな環境がほしい 特に説明の必要もなく普段 Jenkins を使っていればジョブ毎にクリーンな環境がほしいと思うはずです。スレーブノードをジョブ毎に新規でインスタンスを立ちあげて実行することもできますが インスタンスの作成、起動はそれなりの時間がかかりま
にゃんぱす〜 最近Dockerにどっぷりなんですが、Dockerについて色々地雷Tipsがあるのでそれをベストプラクティス風にまとめてみました。 Dockerコマンドが動いたけど、これからプロジェクトのDockerfileを書くようにしてみたいんだけど。。。みたいな人にオススメ。 インストール編 1. MacでDockerのインストールで詰まった なんかよくわからないエラーが出てインストール出来ないんだけど>< versionを確認して最新の環境にしましょう。とくにxCodeとVirtualBoxとvagrantのバージョンは最新のものでないとダメです。 $ brew -v Homebrew 0.9.5 $ VirtualBox --help Oracle VM VirtualBox Manager 4.3.6 (C) 2005-2013 Oracle Corporation All ri
背景 最近、「コンテナはもうわかってきたので、これからKubernetesについて腰を据えて勉強したいが、どのように勉強すればいいかわからない」という相談をいただくことがすごく多くなった。 必要に応じて必要なリソースの挙動などを調べてきたし、僕自身も知らないことばかりなので、全てを伝えることはできない。 とはいえ、「入門しにくいサービスが伸びにくい」というのは、間違いないので、Kubernetesに入門する上でこの順番で学習したら、基本的な内容を身につけられるのではないかというロードマップを一つ公開しておくことで、これから業務でKubernetesを理解していく必要がある方の最初の一歩を助けられるかもしれないと思い、公開する事とした。(このQiitaのリンクを渡すだけで質問に回答できるという状態を作りたいという観点もある。) 自分の今の、Kubernetesに対する理解をうまく表現できてい
2020/05/26 追記 Docker for Mac の Mutagen-based caching で Volume のパフォーマンスが劇的に改善した Mutagen単独で試してみたことがあって、すごく速くてよかったんですが、 Docker for macに統合されそうな感じになってるんですね。 これは期待。 2017/3/15 追記 先日この問題のissueに対して、 というコメントがつけられ、それに関する というプルリクが 本体にマージされたようです。 まだ詳しく見ていませんが、マウント時に同期方法オプションが指定できるようになり、そのオプションによってキャッシュするレベルを制御して同期を軽くしよう、というような感じになるようでした。 実際にリリース版で使えるのはいつなのかわかりませんが、やはり本体が早くなるのが一番いいのでちょっと期待ですね。 ========== 追記ここまで
Rust言語による新しいDockerコンテナランタイム実装「Railcar」、オラクルがオープンソースで公開。なぜRustでコンテナランタイムを実装したのか? Rust言語で実装したコンテナランタイムの「Railcar」を、オラクルがオープンソースとしてGitHubで公開しました。 Railcarはコンテナランタイム標準であるOCI(Open Container Initiative)に準拠してているため、Dockerのバックエンドとしても利用可能と説明されています。 なぜDockerをRust言語で実装するのか Railcarの公開を明らかにしたOracle Developers Blogに投稿された記事「Building a Container Runtime in Rust」によると、Rust言語でコンテナランタイムを実装した理由が次のように説明されています。少し長いのですが、引用し
こんにちは。 @amsy810 です。 下記のブログが出てから『Kubernetes は運用しきれない』と耳にすることが多くなってきたので、雰囲気で曲解されて Kubernetes is difficult とならないよう、マネージドでシンプルに使うだけなら難しくないよと伝えるために書きました。 Kubernetes がいいよと伝えるためではありません。 yakst.com TL;DR 上記のブログについては概ね同意見です。 辛いのは自前で Kubernetes クラスタの管理自体を行う場合です。 GKE などのマネージド Kubernetes サービスを利用するケースでは、Kubernetes の管理は殆ど必要がなくなります。 例えば GKE の場合には、自動クラスタアップグレード・自動クラスタスケーリングなどが用意されています。他にも自動ノードプロビジョニング機能(CPU・メモリ・GP
どのクラウドでも使えるサーバレス「GitLab Serverless」をGitLabが発表。KubernetesとKnativeがベース GitLab ServerlessはKnativeをベースにKubernetes上で稼働するサーバレスプラットフォームです。GitLabがホスティングするのではなく、AWSやGoogle Cloud Platformなどどのクラウドに対してもデプロイし使えることが最大の特徴と言えるでしょう。 GitLabはマルチクラウドに対応したサーバレス管理ツールを提供するTriggerMeshと協力することで、デプロイ後の運用まで一貫してGitLabで管理できるとしています。 現在、AWS LambdaやGoogle Cloud Functions、Azure Functionsなど主要なクラウドは独自のサーバレスプラットフォームを提供しています。しかしそれぞれのク
米マイクロソフトはDocker社と提携し、次期Windows ServerでDockerをサポート。Microsoft AzureでもDockerをサポートするとともに、Docker Hubとの統合も行うと発表しました。 同社のエンタープライズおよびクラウド部門の責任者であるスコット・ガスリー氏が自身のブログ「Docker and Microsoft: Integrating Docker with Windows Server and Microsoft Azure」で明らかにしています。 DockerのWindowsイメージに対応 ガスリー氏のブログによると、Windows ServerとMicrosoft AzureによるDocker対応は以下の通り。 (1)マイクロソフトはDocker Engineを次期Windows Serverに統合。次期Windows Serverにコンテナ
はてなのMackerelチームはKubernetesクラスタを自前で構築して運用していたが、撤退を選択したという。なぜ、Kubernetesの運用を諦めて撤退を選んだのか。はてなのMackerelチームでSREを務める今井隼人氏が語った。 コンテナ型仮想化技術を活用したアプリケーションの管理(オーケストレーション)ツール「Kubernetes」が注目を集めている。その背景の一端にあるのが、アプリケーションをコンテナ化し、マネージドKubernetesサービスで実行することによるメリットの享受と、運用負荷の軽減だ。 参考記事:「Kubernetes」とは何か――コンテナ型仮想化の本番利用に向けた課題 参考記事:「Kubernetesで運用する」その前に Kubernetesを本番環境で利用する際のポイント そんな中、「Kubernetesクラスタを自前で構築して運用していたが、撤退を選択した
とあるスマートフォン向けMMORPGのプロジェクトで、アプリケーションサーバをほぼすべてGKE(Google Kubernetes Engine)に乗っけて動かしていました。 このゲームは、モバイル向けながら、複数プレイヤ間でそこそこリアルタイム性の高い同時プレイができるものでした。同じフィールドを誰かが歩けば、自分が見ている画面でもほぼ同時にそいつが歩いて横切っていく、同じ敵と皆で一緒に戦えば、誰かが繰り出した攻撃が参加者全員の画面に即同期される、もちろんチャットもできる、そんな具合です。今ではさほど珍しくないのかもしれませんが、PCのオンラインゲームのような機能を搭載した、リアルタイム性の高いモバイルゲームでした。 さて、こうなってくると、オーソドックスなWebサーバのような、HTTP/1でリクエスト/リプライを捌く、というサーバだけでは要件を満たすことができません。 複数プレイヤ間で
まえおき 2つくらいデプロイしたい新規のアプリがあったので運用方法の候補に Docker も検討した 検討段階で既にいくつか課題点が見えた Docker に興味ありそうな人たち (@deeeet @repeatedly @kenjiskywalker @punytan) で寿司した 参考画像 pic.twitter.com/wGcPZw0bVp — ヾ(o゜ω゜o)ノ゛''''プニプニ! (@punytan) May 9, 2014 tl;dr プロダクションで Docker 使うのは今のところ人柱 盛り上がってる感はあるけど実際使ってる人いない Docker は周辺のミドルウェアが揃わないとなかなか使いにくい 話題ごとに箇条書きメモ 運用 アプリのログを完全に回収する方法どうする? ホストのディレクトリをマウントしてそこに書き込む? ログ回収しきってからコンテナ止める安全な方法は? コン
自分がニッチだと思っているテーマについて発表する「Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜」。ここで株式会社SonicGardenの遠藤氏が登壇。LambdaとFargateを組み合わせた実行環境について話します。 遠藤氏の自己紹介 遠藤大介氏:今日は「AWSのLambdaとPlanetScaleを組み合わせると、超絶スケールするWebアプリを作れちゃうぜ」という話をしていこうと思っています。 最初に自己紹介です。遠藤と申します。SonicGardenという会社で、プログラマーと執行役員をやっています。インフラと機械学習などが好きで、趣味もプログラムで仕事もプログラムな感じの人間なんですが、最近は機械学習周りが盛り上がっているので、そっちもいろいろやっています。 あと、ロードバイクに趣味で乗っているのですが、最近ちょっと乗れていません。それから
クラウドネイティブを取り巻く技術の中でも、ひときわKubernetes(Dockerコンテナ)は注目を浴びており、様々なシーンで利用が始まっています。本セッションでは、Dockerコンテナが私達にもたらす恩恵や、アプリケーションのコンテナ化に置いて気をつけるべきポイントについて、アプリケーションエンジニアという観点からお話したいと思います。以下の聴講者を主なターゲットとしています: ・Webアプリケーション開発者(フロント/バックエンド/モバイル) ・Dockerをローカルで動かしたことがある/CIなどで既にあるパイプラインなどを利用しているエンジニア ・KubernetesやDockerを、プロダクトに導入してみたいアプリケーション開発者
はじめに SREチームの @minamijoyo です。 先日 CrowdWorks (crowdworks.jp) の本番環境のRailsアプリケーションを Docker (AWS ECS: Elastic Container Service) に移行しました。 CrowdWorksは2012年にサービスを開始し、2019年10月現在、ユーザ数は300万人、月間で数億円規模のお仕事がやりとりされる、国内最大級のクラウドソーシングプラットフォームにまで成長しました。 サービスの規模拡大に合わせて、ソースコードも数十万行規模に成長し、 決して小さくはない規模のRailsアプリケーションに成長しました。 CrowdWorksの開発環境にDockerが導入されたのはもうかれこれ3年半前の2016年の4月頃、2017年1月頃にはCrowdWorks本体から切り出された一部の機能で本番環境に投入され
Kubernetesの自前運用は難しい これから嫌でもコンテナと戦わなければいかないインフラエンジニアには何度でも読み返してほしい記事です。 www.atmarkit.co.jp はてなのMackerelチームはKubernetesクラスタを自前で構築して運用していたが、撤退を選択したという。なぜ、Kubernetesの運用を諦めて撤退を選んだのか。はてなのMackerelチームでSREを務める今井隼人氏が語った。 考察 この話、20年前のLinux草創期を思い出すんです。 雑誌の付録にLinuxがCD-ROMで付いてたんです。最近のスマートなCentOSとかじゃなくてですね、何Linuxだか忘れたのですがインストールも含めて3日間ぐらいかけて取り組んだんですが結局失敗した記憶があります。 これからKubernetesなりコンテナがやってくるのはここ最近に書いた通りで、早くそっちの世界に行
こんにちは。AI事業本部の青山(@amsy810)です。 2020年版「おうちKubernetesインターン」を実施したため、事後レポートをブログにまとめたいと思います。 コロナ禍のため、機材一式を学生とメンター宅に郵送し、フルリモートでの実施となりました。 またそれに合わせて3 Daysだったものを7 Daysに伸ばして、初日と最終日以外は夕会だけをコアタイムとしたフレックス性で実施しています。 メンターは私以外に、徳田、川部、漆田、源波、中西、岩立、長谷川が参加しています。 概要 今回のおうちKubernetesは Raspberry Pi 4 の 8GB モデル 3台 を使ってクラスタを構成しました。 単純な仕様だと、12 core + 24 GB Memory のクラスタです。もはやノートパソコンに近しい性能ですね。 また、今回 Raspberry Pi 4 になってから最低 2.
🗃 {Dev/Infrastructure/Docker/OrbStack} 🏷 Docker 🏷 OrbStack 🏷 kind 🏷 MetalLB 🗓 Updated at 2023-06-18T23:45:47Z 🗓 Created at 2023-06-16T04:09:56Z 🌎 English Page OrbStackは軽量・高速を謳うDocker Desktop for Macの代替です。 drop-in replacementであり、Docker Desktop for Macと同じくdockerコマンドが使えます。 https://orbstack.dev/ リソース消費が少ない & 起動が速い DockerだけでなくLinux Machineも使える Macのホストからコンテナ/Linux Machineに直接アクセスできる(!) 自分はDock
※この投稿は米国時間 2021 年 10 月 27 日に、Google Cloud blog に投稿されたものの抄訳です。 ポケモンを捕まえたことはありますか?Pokémon GO は何百万人もの人がプレイする人気ゲームですが、非常に優れたスケーラビリティを実現しています。このブログでは、Pokémon GO のエンジニアリング チームがどのようにこの大規模なサービスを管理し、維持しているのか、その舞台裏を紹介しています。Niantic Labs のシニア エンジニアリング マネージャーで、 Pokémon GO のサーバー インフラストラクチャ チームを率いる James Prompanya 氏に、この大人気ゲームを支える アーキテクチャについてお話を伺いました。動画をご覧ください。 Priyanka: Pokémon GO とは? James: これは典型的なモバイルゲームではあ
freee では仮想マシンのインフラ監視に Mackerel を使っていますが、Kubernetes を使っているところは前例にとらわれずゼロベースで見直そうとしています。現状は Elastic Stack と Mackerel のハイブリット構成になっています。 Elastic Stack による Kubernetes モニタリングシステムの紹介 - freee Developers Blog どの SaaS を使うかを決める前に、そもそも Kubernetes の何を監視すればいいのか? というところから考え直しています。宣言的なマニフェストにより Kubernetes が自律的にあるべき状態を保ってくれるのであれば、これまでの監視とは異なってくるはずです。 監視の観点として、ここでは通知レベルを用いて次の 3 つに分類します。 None: メトリクスは収集するが通知しない Notic
はじめに 本記事では、筆者や筆者の同僚がKubernetes関連の開発をしているときによく利用しているツールを紹介します。 主にKubernetes上で動くプログラムをGoで書いたり、マニフェストのYAMLを書いたりするエンジニアが対象となります。 本記事の内容は極力環境依存を減らし、Linux, WSL2, Macなどの環境で利用可能となっています。 WSL2(Ubuntu 20.04)、およびM1 Macで動作確認していますが、環境によって多少の違いが生じることもあるのでご了承ください。 基本となるツール make & brew 本記事ではmakeコマンドを利用します。 Ubuntuの場合は以下のコマンドでインストールをおこなってください。 Macの場合は、以下のページを参考にHomebrewとCommand line tools for Xcodeをインストールしてください。 Doc
「ある日、転職した inajob に与えられた仕事は、Kubernetes の一員になることだった!?」 Kubernetesは、コンテナのスケジューリングなどの多くの作業を自動化している一方で、複数のコンポーネントにより構成され中身の理解が難しくなっています。本講演では、各コンポーネントに代わり手作業で機能する Kubernetes クラスタのデモを交えながら、Kubernetesがどのように人間の作業を自動化しているのか説明します。 --- Cloud Native Days Tokyo 2019 (2019/7/23) - https://cloudnativedays.jp/cndt2019/ SUDA Kazuki, @superbrothers OTSUKA Motohiro, @yuanying INAZU Kazuma, @ina_ani
https://docs.docker.com/get-started/をやってみたのだけど、今のコンテナ技術の概念をいろいろ学べてお得だった。 Orientation and setup | Docker Documentation で、コンテナとVMの違いって何?というのが分かる Redirecting…でpythonのwebアプリを動かしながら、Dockerfileやコンテナやイメージの概念を学べる Redirecting…で、docker-compose.ymlとdocker swarmを用いて、コンテナをデプロイするのをやる これでコンテナをスケールさせてデプロイするイメージが分かる Redirecting…で、複数のノードに分散してコンテナをデプロイするのをやる これでコンテナとクラスタ管理のイメージが分かる k8sとかECSとかがやっていることが分かるイメージ Redirec
AWS上のコンテナはネットワークをどう利用するのか? ポート番号の扱いとDNSの仕組みを中心に AWS、そしてネットワークの基礎知識は、なんらかのサービスを開発する際に不可欠なものです。本稿では、コンテナを利用してWebアプリケーションを開発するとき、Webアクセスはどのような技術を用いて成り立っており、どういったことに注意する必要があるのか、といった入門的情報をAWSに務める菊池之裕さんに説明してもらいました。 みなさん、こんにちは。アマゾン ウェブ サービス ジャパン株式会社でシニアソリューションアーキテクト ネットワークスペシャリストを務めております、菊池之裕と申します。私は普段、ネットワークに関連したお客さまの技術的な導入支援や課題解決などの業務に従事しています。 読者のみなさんは、ネットワークについての基礎知識をどれくらい持っていらっしゃるでしょうか? 普段、主にWebアプリケー
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く