Dockerやコンテナについての理解を目指す入門テキストです。 CloudNative Days Kansai 2019 - #CNDK2019 における発表資料です。 https://cloudnativedays.jp/cndk2019/Read less
ソフトウェアエンジニアにとって、不具合に対抗する最も一般的な方法は自動化されたテストを書くこと。 テストでは、書いたプログラムが誤った振る舞いをしないか確認する。 一口に自動テストといっても、扱うレイヤーによって色々なものがある。 今回は、その中でも最もプリミティブなテストであるユニットテストについて扱う。 ユニットテストでは、関数やクラス、メソッドといった単位の振る舞いについてテストを書いていく。 Python には標準ライブラリとして unittest というパッケージが用意されている。 これは、文字通り Python でユニットテストを書くためのパッケージとなっている。 このエントリでは、最初に unittest パッケージを使ってユニットテストを書く方法について紹介する。 その上で、さらに効率的にテストを記述するためにサードパーティ製のライブラリである pytest を使っていく。
ProductIntroducing GitHub Container RegistryGitHub Container Registry introduces easy sharing across organizations, fine-grained permissions, and free, anonymous access for public container images Since releasing GitHub Packages last year, hundreds of millions of packages have been downloaded from GitHub, with Docker as the second most popular ecosystem in Packages behind npm. Our users are leanin
こんにちは。CacooチームのYAMLエンジニアの木村(@cohhei)です。「readiness」は「ready」の名詞形で「レディネス」と読むことをわりと最近知りました。今回はプルリクエスト向けに検証環境が構築される仕組みを作ったので紹介します。 忙しい人のためのざっくりとした説明 プルリクエストが作られたら自動で検証環境が構築される仕組みをつくりました。 環境まるごと作るわけではなく、フロントエンドJavaScript配信用のPodだけに対応しています。 レビュアーやテスターはクエリパラメーターが追加されたURLにアクセスするだけでその検証環境にアクセスできます。 プルリクエストをマージする前にそのバージョンを非エンジニアでも試すことができます。 プルリクエストごとに環境が作られるので、複数の開発プロジェクトが同時に走っているときに便利です。 コミットしてプルリクエストを作るだけです
皆さま、こんにちは。Red Hatの西村(@iamnishipy)です。入社するまでDockerユーザーだった私が、わかりやすいと感じたPodmanの記事を共有いたします。 この記事はRed Hat DeveloperのPodman and Buildah for Docker usersを、許可を受けて翻訳したものです。 :::William Henry 2019年2月21日::: 最近Twitterにて、Dockerに詳しい人のためにPodmanとBuildahをよりよく説明してほしいと頼まれました。ブログやチュートリアル(後ほど紹介)はたくさんありますが、DockerユーザーがどのようにDockerからPodmanやBuildahに移行していくのかについて、私たちコミュニティから一元的な説明を行っていませんでした。Buildahはどのような役割を果たしているのでしょうか?Docker
こんにちは!アンドパッド開発部のyokohamaです。 ITコンサル、WEBサービス会社を経て昨年5月にアンドパッドにジョインしました。 突然ですがアンドパッドでは社内で様々な勉強会を開催しています。 Vue, Flutter,マイクロサービスなどいろんなテーマの勉強会が開催されていて、所属に関わらず各々好きな勉強会に参加することができます。 自分はKubernetes/マイクロサービス勉強会と機械学習勉強会に参加しています。 勉強会に参加する目的は人それぞれだと思いますが、自分は怠け者なので学習をさぼらないようにペースメーカーとして勉強会に参加し続けています。 機械学習勉強会についてもいつか記事にできればと思っていますが、今日はKubernetes(k8s)に関しての記事なります。 k8sは入社前は全く触ったことがありませんでしたが、この勉強会のおかげで少しずつ触れるようになってきました
GUIでDockerコンテナやKubernetesの操作を可能にするオープンソースの「Podman Desktop」がリリースされたことをRed Hatが発表しました。Windows、Mac、Linuxに対応します。 Install, configure, and keep your container engine up to date with a GUI, which allows users to interact with containers and pods running in #Podman. Try Podman Desktop. https://t.co/5hPV8xOHYF — Red Hat Developer (@rhdevelopers) November 6, 2022 Podman DesktopはRed Hatが開発したDocker互換のツール「Podm
はじめに なぜ遅いのか 何をやるのか 計測 名前付きボリュームを使ってない場合 Named Volumeを使う場合 Macからどう見えているか 結論とまとめ はじめに 以前からいろんなところで話していますが、僕は普段、手元のMacには言語系のランタイムとかは入れておらずVS CodeとDocker for Macだけ入れてRemote Containersの環境で開発しています。 この環境自体はとても便利でいいのですが、一点大きな問題があります。 それは遅いということ。自分の場合は最近だとJSでの開発が多いのですが、例えばNext.jsで開発している場合に以下のような操作が特に遅く感じます。 yarn install yarn add yarn jest next dev next start next build yarn jestとかnext devが遅いのは起動だけだったりします。起
はじめに 本記事はKubernetesの嬉しいところではなくてつらいところについて書きます。Kubernetesを少しは触ったことがあって基礎的な用語がわかるくらいの人であれば読めると思います。 Kubernetesのよく言われる売り文句は「Kubernetesを使うと自分でぽちぽちコマンドを叩かなくても、あるべき状態を宣言しておけば後はKubernetesが勝手にその状態になるように保ってくれるのですごく運用が楽」でしょう。これはその通りで自分もKubernetesのおかげで楽をしているなあと感じることがかなりあります。 しかし、何年も実際に使い込んできた経験からいうと、前述の売り文句には「大体の場合は」という但し書きが付きます。では「大体は」じゃないときにどうなるかというと、つらくなります。ここからはどんなときにどんなふうにつらいのかを簡単な例を使って説明します。 冗長度を自動回復して
VSCode の更新情報を見ていたら Dev Container の仕様と、リファレンス実装の CLI ツールについて記載がありました。 Development Container specification Our development container teams across Microsoft and GitHub continue active development on the new Dev Container Specification, and this iteration had several exciting highlights. どういう風にやってきたのか Dev Container(devcontainer) の元は VSCode の Remote - Containers で使われている開発コンテナ(とその設定ファイル)のことです。これを VSCode
こんにちは、後藤です。今回はAWS構成における踏み台についての記事です。 データベースなどのインターネットに繋げたくないリソースに踏み台リソース経由でアクセスさせることは、セキュリティ設計としてよくある構成だと思います。 今回はその踏み台リソースに「ユーザーログイン有無を検知して自動停止する」ロジックを組み込んだ方法を共有します。 また、一般的によく用いられるのはEC2だと思いますが、今回はECS on Fargate(以降はFargateと略)を使います。しかも自動停止ロジックにLambdaを使いません!!コンテナの中で完結させます。 踏み台を設計する時に気になること そもそも踏み台について設計する際に何が気になるのでしょうか。それはOS管理負担と自動停止です。 踏み台にEC2を用いるとOSパッチ適用などの運用コストが発生します。業務系サーバでないのに心労が重なるのはなるべく避けたいとこ
プライベートの時間は極力削らない。Kubernetesエキスパート青山真也氏のコスパ最高な情報収集術 2024年3月5日 株式会社サイバーエージェント インフラエンジニア 青山真也 (Masaya Aoyama) 2016年、新卒でサイバーエージェントに入社。OpenStackを使ったプライベートクラウドやGKE互換なコンテナプラットフォームをゼロから構築し、国内カンファレンスでのKeynoteに登壇。著書に『Kubernetes完全ガイド』『Kubernetesの知識地図』『みんなのDocker/Kubernetes』。現在はKubernetesやOpenStackなどOSSへのコントリビュート活動をはじめ、CloudNative Days Tokyo Co-chair、CNCF Japan ChapterのOrganizer、Kubernetes Meetup TokyoのOrgani
■ Docker Desktop から podman に変えた 朝起きたら Docker Desktop が 4.0 になって、物々しい感じの表示が出たので調べてみたら、営利利用は課金してねということになったっぽい。 https://www.docker.com/blog/updating-product-subscriptions/ 最近は個人の開発でしか使ってないし OSS 利用とは言えるけど、会社関連で一切使わないということもないよなあという感じだったので、macOS からえいっとアンインストールしていったん VitrualBox と docker-machine にした。この辺の手順は moznion さんが書いてるのでみてください。 https://moznion.hatenadiary.com/entry/2021/09/01/112601 作ってから https://twit
Microservices Platform Teamの@deeeeeeetと@dragon3です. Microservices Platform TeamではGoogle Kubernetes Engine(GKE)をメインのコンポーネントとして利用し,その上にメルカリとメルペイのMicroservicesを動かすための基盤を構築しています.メルカリのMicroservices化のプロジェクト自体は2年ほど前から始めており,GKEも当時に構築したものを今日まで運用し続けてきました. この2年間でGKEからは多くの機能がリリースされました.その中のほとんどはそのまま有効にすることができますが,中にはClusterを作り直す必要があるものもあります.例えばRoutes-based ClusterをVPC-native Clusterに,Zonal ClusterをRegional Clust
こんにちはNewsPicks SREチームの飯野です。 今年の1月入社の新入社員です。そろそろお仕事に慣れてきました。今回は研修と研修の合間に地道に行っていたCloudWatchアラームの整理について話していきたいと思います。ちょっと長くなりますがお付き合いください。 よくわからないしアラームを整理しよう まずはスプレッドシートで一覧してみよう 整理の方針を決めよう さまざまな問題をかかえたアラームたち Case#1 AlarmActionが未設定のアラーム(5個) Case#2 ActionのSNSトピックが存在しないアラーム(16個) Actionを差し替えるのはちょっと手間 Case#3 ActionのSNSトピックの通知先が退職した社員のメールアドレス(97個) Case#4 監視先のDynamoDBのテーブルがすでに存在しないアラーム(97個中の85個) Case#5 監視先のE
2019年新卒入社。基盤エンジニアリング本部兼クラウド本部所属のKubernetes大好きエンジニア。自宅ラックマウントサーバ勢。休日はコスプレしたり、バイクに乗ったり、絵を描いたり、サーバメンテしたり、激渋旅館を巡ったりしてます。 こんにちは、IIJの韮塚(にらづか)です。 私は名古屋支社の技術部に所属しており、普段はインフラ中心のSI業務と開発向け社内ツールの管理業務をしています。 みなさん、Kubernetesは触っていますか? いま世の中ではKubernetesが急速に普及しつつあります。 大手クラウドベンダーは独自にカスタマイズしたKubernetesをサービスとして提供しており、多くのWebサービスがその基盤を利用して稼働しています。 中にはYahoo!やサイボウズのように、自社内で独自にカスタマイズしたKubernetesを持っており、その上で自社サービス提供するような会社も
こんにちは、@ueokandeです。早速ですが、皆さんが運用しているサービスには、SLO (Service-level objective: サービスレベル目標) がありますか?アラートの監視項目はどのように設定して、基準値をどのように決めていますか? 社外とのコミュニケーションだけでなく、社内向けのSLOを決めておくことで、サービスの健康状態を知るための手がかりや、普段の開発・運用タスクの優先度を決める上での指標にもなります。 またSLOがあると、サービスを監視するアラートに、理にかなった閾値を設定できます。 この記事ではAWS版kintoneの、SLOとアラートを設定するまでの記録について紹介します。 cybozu.com版kintoneのSLOとアラート 国内のcybozu.comで運用しているkintoneにも、もちろんSLOやアラートはあります。 しかし現状のSLOはkinton
表題のとおり TCP/IP に関する本を書きました。 今回は、そのご紹介です! Linuxで動かしながら学ぶTCP/IPネットワーク入門 作者:もみじあめAmazon どんな本なの? Linux を使って実際にネットワークを組んで動かしながら TCP/IP について学べる本です。 実際に手を動かすことで、より実践的で風化しにくい知識と技術を身につけることが本の目的です。 こんな人にオススメ 次のいずれかに当てはまるような方には、この本が参考になると思います。 ネットワークが専門ではない IT エンジニア、またはそれを志す学生さん 他の TCP/IP に関する本を読んだことはあるけど、身についている実感が少ない インターネットやインフラの技術についてよく知らないけど興味はある ネットワークを気軽に組んで実験できる環境の作り方に興味がある そして、この本を読んで試した後には、次のような効果が見
Writing production-worthy Dockerfiles is, unfortunately, not as simple as you would imagine. Most Docker images in the wild fail here, and even professionals often[1] get[2] this[3] wrong[4]. This repository has best-practices for writing Dockerfiles that I (@slimsag) have quite painfully learned over the years both from my personal projects and from my work @sourcegraph. This is all guidance, not
KubeFest Tokyo 2020は、Kubernetes を利用している人、これから導入したい人が新しいことを学んだり、ネットワーキングすることを狙いとして開催するワンデイのオンラインイベントです。大規模なKubernetes環境では、たくさんのクラスタが存在します。これらを監視する仕組みについて、ヤフーの勝田氏と相良氏がお話しします。前半はヤフーのKubernetesの紹介から。全2回。 監視の基礎から知る、ヤフーの大量クラスタ監視システムの仕組み 相良幸範氏(以下、相良):「監視の基礎から知る、ヤフーの大量クラスタ監視システムの仕組み」という題で、ヤフーの勝田と相良が発表いたします。 このセッションでは、ヤフーのKubernetesを紹介し、Kubernetesクラスタの監視・運用について基礎を振り返ります。その後、ヤフーにおいて大量のクラスタをどう効率的に運用して安定稼働を実現
Amazon Web Services ブログ Docker Compose と Amazon ECS を利用したソフトウェアデリバリの自動化 この記事は Automated software delivery using Docker Compose and Amazon ECS を翻訳したものです。 2020 年 11 月、Docker Compose for Amazon ECS の一般提供を開始しました。開発者はコンテナ化されたマイクロサービスベースのアプリケーションをワークステーションから取り出し、AWS クラウドに直接デプロイすることがさらに簡単になりました。以前紹介したこのブログにあるように、開発者は docker compose up コマンドを実行して既存の Docker Compose ファイルをそのまま Amazon ECS にデプロイできます。Docker Comp
Kubernetesの主要なリソースの一つにServiceリソースがあります。ServiceリソースとはKubernetes上のPodへクラスタの外からアクセスするために使うもの、という理解をしている人が多いかもしれません。確かにそのような役割を担っているのですが、実際にはクラスタ内部に閉じた通信にも利用されていますし、実はもっといろいろな機能を持っています。 端的に説明すれば、Serviceとは「ロードバランサとDNSサーバを設定するためのリソース」です。意外に聞こえますか? もし意外に思えたなら、ぜひこのまま読み進めてみてください。 インターナルなロードバランサを制御する Kubernetesにはクラスタ内部に閉じた通信を制御するロードバランサが内蔵されています。Kubernetesを利用するということは、ほぼ例外なくこのロードバランサを利用しているのですが、あまり意識せずに利用されて
Amazon Web Servicesは、コンテナ実行専用に開発されたLinuxベースのOS「Bottlerocket」をオープンソースで公開したことを明らかにしました。 Running containers on Amazon EC2? Try the new Bottlerocket OS purpose built to run containers. https://t.co/0tnx2nk1HB pic.twitter.com/GPuWWB9N90 — Amazon Web Services (@awscloud) March 10, 2020 一般的なLinuxディストリビューションで提供されているOSはコンテナ環境に最適化されているわけではないので、コンテナの実行には不要なソフトウェアが含まれていることなどによるストレージやメモリのオーバーヘッドや、不要なネットワークポートが
Amazon Web Services ブログ AWS Black Belt コンテナシリーズのあるきかた 2021年10月版 みなさん、こんにちは。ソリューションアーキテクト、コンテナスペシャリストの荒木です。 AWS Black Belt オンラインセミナーのオンデマンドビデオ化に伴って、コンテナサービスシリーズは6月からリニューアルしました。ひとつのビデオあたりのトピックを小さく絞ってお届けしています。 その結果、今日までの3ヶ月で18の コンテナに関するAWS Black Belt オンラインセミナーをお届けしました。他にも本 Blog を通じて AWS でのコンテナに関する数多くのアップデートをお届けしています。 アプリケーションエンジニアの方や、すでに AWS でのコンテナを活用されている技術者の方はもちろん、コンテナに興味のある多くの方に活用いただきました。そんな方々から、も
はじめに AWS x コンテナに関する商業誌を執筆しましたので、本ブログにて少し内容を紹介できればと思います。 (しかし、見本誌をつみあげるとなかなか圧巻でした!) amzn.to 見本誌 こちら、共同執筆者の新井さん (@msy78)や、監修いただいた佐々木さん(@dkfj)のブログでも触れられている内容になります。執筆に至った経緯などはお二人のブログでも語られていますので、↓をどうぞ。 『AWSコンテナ設計・構築[本格]入門』の監修しました - プログラマでありたい 「AWSコンテナ設計・構築 [本格] 入門」を執筆しました - How elegant the tech world is...! このブログでは執筆者の一人である、私の視点からの書籍の紹介をいたします。 書籍について 本の概要 全5章で構成しています。本当は付録としてECSコンテナを扱うためのツールもいくつか紹介するため
はじめに なぜおうちKubernetes? ハードウェアの選定 クラスタのブートストラップ cybozu-go/neco-apps Metallb cert-manager Contour TopoLVM Rook SealedSecret ArgoCD GitHubアカウントでSSOする gRPC用とWeb UI用でサービスを分ける VictoriaMetrics Grafana operator moco 開発環境 今動いているもの これからやりたいこと バックアップとリストア 監視の充実 まとめ はじめに これはCybozu Advent Calendar 2021 7日目の記事です。是非他の記事も読んでみてください。 Kubernetesの名を聞くようになって久しく、皆様も業務・プライベート問わず日々YAMLを書かれていることでしょう。自分専用のプライベートクラスタが欲しいと思われ
github.blog 9/1 に GitHub Container Registry がパブリックベータとして公開されました。GitHub が提供する Docker レジストリサービスです。 この記事では、GitHub Container Registry についていろいろ調べたり動かしたりした内容をまとめます。 目次 注意事項 背景 Docker Hub と GitHub Container Registry GitHub Packages と GitHub Container Registry 料金 organization での GitHub Container Registry の有効化 試してみる パーソナルアクセストークンの作成 イメージの push イメージの権限変更 認証なしで public イメージの pull イメージの削除 GitHub Actions から Git
CSSの新機能コンテナクエリ(@container)と:has()疑似クラスが、いよいよChrome 105(8月末、来週リリース予定)でサポートされます。 コンテナクエリとは今までのメディアクエリがビューポートに依存していたのとは異なり、親要素(コンテナ)のサイズに対してスタイルを適用できます。:has()疑似クラスは指定した要素を含んでいる場合にスタイルを適用できます。 レスポンシブの実装この2つの新機能は単独でも強力ですが、組み合わせるとさらにすごいパワーを発揮します。この2つの新機能の最初に理解しておきたい基礎知識を紹介します。 container and :has(): two powerful new responsive APIs landing in Chromium 105 by Una Kravets 下記は各ポイントを意訳したものです。 ※元サイト様のライセンスにもと
「eBPF」がクラウドネイティブを超強力にする。eBPFとは何か? 何ができて、どんな利点があるのか? Cloud Native Days Tokyo 2022基調講演から 2022年11月21日と22日の2日間、クラウドネイティブにフォーカスしたイベント「Cloud Native Days Tokyo 2022」が都内およびオンラインのハイブリッドで行われました。 22日の基調講演に登場したのは、Cilium、Hubble、TetragonなどeBPFを中心としたオープンソースを開発しているIsovalentのTracy P Holmes氏。 Homes氏は、いまクラウドネイティブ関連のテクノロジーとして最も注目されていると言ってよい「eBPF」を紹介するセッション「Cloud Native Superpowers with eBPF」を行いました。 eBPFとはどのようなテクノロジーな
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く