サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
blog.mosuke.tech
こんにちは、もーすけです。 今回はTerratest を用いたKubernetes環境のテストについて検討します。 TerratestはGruntwork.ioが作成しているインフラのテスティングソフトウェアです。 もともとは、Terraformで作成したクラウド環境のテストとして発達がしましたが、いまの時代となってKubernetes環境やコンテナイメージもテストできるようになっています。 Kubernetesマニフェストにより、宣言的にインフラ環境を表現できるようになってきているととはいえ、その結果が期待通りに動作しているのかは日々の悩みのタネであることはかわりません。 Terratestがこの悩みを解消するのにイケてそうなので調査してみます。 かつて仮想サーバでアプリケーションを運用している時代に、Serverspecを用いてテスト駆動のインフラ構築を行っていてとても気持ちがよかった
もーすけです。本日は最近おこなったトラブルシューティングの中で、自分がKubernetesのDNSまわりについて理解が乏しく手こずっていたのでその内容について簡単に書いていきたいと思います。 前提 これからcurlをhttpサーバに打ったり、digを行ったりしますが、Kubernetes内の下記のような環境で行ってます。 KubernetesのServiceへのアクセス Serviceへは service.namespace.svc.cluster.local で名前解決ができ、アクセスできます。 こちらは基礎的なことなので知っている方も多いかと思います。もし知らなかったという方は、デバッグに非常に役立ちますのでぜひ理解しておくといいです。 (公式ドキュメント: ServiceとPodに対するDNS - Kubernetes) # curl -I http://httpd-example.
1.はじめに 開発環境はVirualboxを使ったVagrantを利用しているが、 本番環境はAWSだったりKVMだったり違う仮想化機構で動作しているなんてことよくあると思います。 そういう環境下でどのように開発環境と本番環境の差分をなくしていますか? わたしの場合、基本的にAnsibleを使ってプロビジョニングをしていますが、 そのプロビジョニング前のベースが異なってしまって困ることがよくあります。 一般に公開されているVagrantBox使ったら余計な設定が入っていたとか、すでにパッケージが入っていたとか… そんな問題を解決しようとPackerを使おう!って考えました。 ですが、Packerも当たり前だけど魔法ではなく、Kickstartなどの自動インストールが前提なので、 Packerをやる前にKickstartを学習せよ、、、ということに気づきました。 ということでKickstar
少なくとも年内まで在宅勤務が確定しいるもーすけです。 さすがに、出社方法などすべて忘れました(笑) はい、本日はコンテナイメージのセキュリティに関する考え方について書きます。 新しくコンテナ環境を導入してみたいけど、セキュリティに対してどう考えたらいいかわからないといった声や、 実際にKubernetes使い始めたけど本当にこれで安全なの?といった不安の声が聞こえてきているのでまとめてみました。 コンテナ環境におけるセキュリティのレイヤー 今回のブログではコンテナイメージに関するセキュリティについて扱いますが、 コンテナ環境という意味ではもっと多岐にわたるセキュリティの問題について考えなければなりません。 イメージのセキュリティ(←本日のテーマ) レジストリのセキュリティ Kunernetesクラスタのセキュリティ(オーケストレーションツール) コンテナランタイムのセキュリティ ホストOS
こちらの反響もよかったこともあり、KubernetesにおけるCI/CD(継続的インテグレーションと継続的デリバリー)に焦点を絞って、いままでの経験も含めて大事なポイントをいくつかの切り口でまとめることにしました。 一部は書籍の内容とかぶる部分もあるのですが、わたしが普段Kubernetesでのアプリケーション運用に携わる中で大事だと思うことなど含めてご紹介します。 KubernetesにおけるCI/CDとしていますが、項目は必ずしもKubernetesに限った話ではありませんのでご了承ください。 また、もっといろんなトピックを書きたいのですが、すべてのトピックを揃えると記事自体のボリュームも大きくなり公開も遅くなりそうだったので、基本的な内容のみ選んでみました。随時追加されていく(あるいは別記事?)可能性があります。 ブランチ戦略 CI/CDの実践にまず根本的に関わるポイントとして、ブラ
@mosuke5です。早くも3月になってしまいました。 しかし、個人的にはこの2か月は非常に動きがあった2か月でしたのでいろいろ楽しかったです。 さて、本題ですが、、 わたしの好きなTerraformを使ってKubernetesクラスタ上のリソースを管理するのをやってみたいと思います。 そもそもKubernetesをTeraformで管理するとなると2つのレイヤーの話があります。 今回は、後者のほうに重きを置いてお伝えします。 KubernetesクラスターそのものをTerraformで管理する Kubernetesクラスター上のリソースをTerraformで管理する KubernetesクラスターそのものをTerraformで操る こちらは軽く流していきますが、Terraformでクラウドのサービスを操ることができるので、もしKubernetesのサービスを提供している場合は、下記のよう
※本記事は、もともと2019年7月に執筆されたものですが、当時の有効期限である2年が経過したので、2022年7月に認定を更新しました。2022年7月現在の状況に更新してお知らせします。 @mosuke5です。CKAD(Certified Kubernetes Application Developer)を受けてきました。 すでに多くのCKA/CKADの合格レポートや体験記がでておりますが、 それでも自分が実際に受けてみるまで不安な要素も多くあったので、 そのあたりを払拭するべくこの記事を書きたいと思います。 2019年7月5日にCKADを受験して無事に合格しました。 スコアは89%と案外高く(66%で合格)、驚きでもあったのですが、その体験をこれから受験する人にもシェアできればと思います。 (その後、2022年7月8日に認定を更新しました。スコアは96%と高く嬉しかったです) モチベーショ
ブログの更新頻度が落ちていますが、サボっているわけではないです。。 はい。mosuke5です。 やはりKubernetesマニフェストのテンプレートエンジンは必要だ、と気づいてしまったので、マニフェストを生成できるツールを探していました。 そこで、Kustomizeを試しみたのでアウトプットとして残しておきます。使ってみた上でハマったポイントや注意すべき点なども含めて書きたいと思います。 モチベーション kubernetes初心者として、マニフェストもかけてきたし、kubectl apply -f xxxxですぐにデプロイできるし、最高だなって思ってました。 しかし、いざ、開発環境と本番環境の2つのNamespaceで利用したくなったり、運用のことを考えるといろいろと不都合が発生してきました。 開発環境と本番環境でパラメータが変えたいことがある 本番環境だけ入れたいリソースがある(例えばL
ニート最終日の@mosuke5です。 今日は、Amazon ECSからみる、AWSのコンテナ戦略やECSへのデプロイフローなどについて解説します。 自分はDockerやKubernetesなどを触ってきましたが、AWS特有のコンテナサービスであるECS, Fargateを調査していくとAWSの戦略などいろんな発見がありました。 全体像 Amazon ECSで実現することの全体像は下記の通りです。 大きく右と左で分かれていて、左側のAWS上ではECS(Fargateのタスク)でNginxで静的なデータを返すWebサーバを配置。前段にALBで分散してアクセスできるようにしています。 右側では、Gitlabを用いて、そのECSに対して変更をデプロイを行います。 Fargateの動き まず、Fargateについてです。個人的に一番盛り上がっていたポイントです!! Amazon ECSではタスクを実
你好(ニーハオ)、@mosuke5です。 本日2019年3月29日をもって、ソフトバンク株式会社の最終出社日で、同時にAlibaba Cloudの中の人を卒業しました。 2016年8月1日からAlibaba Cloudにジョインし、2年8か月の間、日本リージョンの立ち上げから企業への導入支援、トレーニングなど、このクラウドビジネスを拡大させるためのたくさんのことを行ってきました。 2年8か月という期間ですが、非常に濃い日々で5年分くらいの経験をさせていただいた気持ちです。 今回退職することにはなりましたが、最後の最後までAlibaba Cloudをみなさんに知ってもらうべく退職エントリーに全力を尽くしていますし、これからもユーザの立場として貢献していきたいと思っています。 私は、2013年4月から新卒でソフトバンクに入社したので、ソフトバンク自体は6年間在籍していたことになります。 が、本
SSHを単なるサーバへのログインのツールとして使っていませんか? SSHを制する者がインフラを制する、なんていわれることもあります。 SSHにはポートフォワーディングをはじめとしたいろんな使い方があります。 今日は実際にローカルポートフォワーディングを理解しみなさんに使いこなしてもらえるようになっていただこうと思います。 どういうときに必要なの どういうときにポートフォワーディングが必要なのでしょうか? ネットワーク的に直接とどかない(ただしサーバを経由すればとどく)環境に直接的に接続したい場面がありませんか? まずは、いくつか活用場面をご紹介します。 プライベートネットワークのAmazon RDSに接続したい クラウド上でシステムを構築しているとよく遭遇するケースです。 RDS(データベース)をプライベートネットワークに配置しているため、インターネットから直接アクセスできません。 踏み台
ここずっとTerraformの基本的な部分の投稿がつづいている@mosuke5です。 理由は、Terraformを最近結構触ることが多いのもあるが、今まであんまり使ってこなかった機能をきちんとキャッチアップして、より効率的にTerraformを活用できるようにしようと思っているからです。 と、まあ余談はおいておき、import機能をやっていきます。 import機能についてはできることもなんとなくしっていたが、自分の手でやったことがなかったのでやってみようと思っています。 使い所 importは、Terraformで現状管理されていない既存のクラウド上のリソースをTerraform管理できるように取り込むことのできる機能です。 今まで、手動で管理していたクラウドリソースをTerraformでの管理にに変更していきたい、あるいは、Terraformに非対応だったリソースは手動で作っていたが、
Terraformのバージョン0.9以降で追加された、workspace機能について自分の環境で使い始めたので、その使い方やtipsなどを残していきたいと思います。 workspaceは名前から推測できますが、同じTerraformのコードをワークスペース(環境)ごとに使い分けることのできる機能です。例えば、productionとdevelopmentの2つのworkspaceを作れば、同じTerraformコードを利用してこの2つの環境で別のリソースを作成していくことができます。 Terraformでは、実行結果をstateファイルに保存することで、インフラストラクチャの状態を管理することができます。(ドキュメント) このworkspace機能を利用すると、このstateファイルを環境ごとに分けて管理するようになります。このあたりは使い方をみながら理解していきましょう。 workspac
早いものGWも終わり一週間が経ってしまいました。 長期の連休になるとだいたい自分は趣味のアプリケーション開発をよくすすめています(ふだんからやりたいけどなかなかできない)。今年のGWも趣味アプリケーションの開発をしてました。 いま作っているアプリケーションは自分の英語学習用のサービスなのですが(サービスについては別途どこかでご紹介したい)、新しい技術を実際に試す場としても利用しています。自分はいつも趣味アプリケーションで新しいことを試してみて、よかったらそれを職場にもっていくことが多いです。 アプリケーションはRailsで書いているのですが、Railsの他にMySQLやNginx、ElasticSearch、Kibanaなど関連するコンポーネントが多いです。 そのため、Docker Composeを利用して動かすことにしています。Dockerは以前から使っていたのですが、実際にアプリケーシ
こんにちは@mosuke5です。 もともとApach+PHPで動作していたシステムに、リバースプロキシ(Nginx)を前段に挟むことになりました。理由は、もともと社内ネットワークでのみ利用するシステムだったのですが、インターネットの外からも利用することになり、インターネットからの入り口にリバースプロキシを導入したからです。 つまり、Nginx->Apache->PHPという構成になりました。 リバースプロキシを導入した際によく問題となることだが、Apacheからみるとすべてリバースプロキシから通信がきているようにみえます。 接続元のIPアドレスがすべてリバースプロキシのもの変わってしまいます。 そこで、HTTPヘッダーに接続元のIPアドレス追加しアプリ側(PHP)で受け取る方法とその際の注意点を書きます。 リバースプロキシ側でHTTPヘッダー追加 まず、デフォルトのNginxの設定では接続
次のページ
このページを最初にブックマークしてみませんか?
『Goldstine研究所 · Goldstine研究所』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く