悩みに悩んだ Kubernetes Secrets の管理方法、External Secrets を選んだ理由#ops#Kubernetes#k8s#gitops#secret
悩みに悩んだ Kubernetes Secrets の管理方法、External Secrets を選んだ理由#ops#Kubernetes#k8s#gitops#secret
はじめに 最近コンテナやKubernetesの活動に参加を余儀なくされています。去年に少しかじったときに、まだまだ進化途中でこれを本番に入れるまでにはいろいろと周辺に必要だし、これはまだ来ないかな。そんな気持ちでいて一年ほど経ったのですが、最近風向きの変化を感じています。というのも、学びなおしてみるとここ一年で新しい概念がどっと登場していて基礎の骨組みに対して、様々なツールや商用パッケージ、サービスが登場しぐっとビジネスに近づいています。 せっかく勉強しなおしたので、Webにある有用な記事を集めてみました。 上から順番に読んでいくと、トレンドが理解できるのではないかと思います。 記事集 Kubernetesの基礎の基礎 PDFファイルですがこれよりわかりやすい資料はない。 Internet Week 2018 Kubernetesの基礎(著・日本IBM高良氏) Helm knowledge
Resource Requests とは podをデプロイする時に必要とするリソース(CPU/メモリ)を指定することができる仕組み。 ただしpodは指定したresource requests以上のリソースを使うことができる。(リソース使用量の制限はlimitを使う) またその指定したリソースがそのpod用に確保されるわけではない。 あくまでpodをデプロイ時にそのリソース量が空いているかをチェックするためのもの。 ポイントとしてはpodをデプロイするときに、nodeのリソース使用量は見ないで、resource requestsをみてデプロイが行われる。 なので、nodeのリソース(CPUやメモリ)の使用率が100%でも、resource requestsに空きがあればデプロイされる。空きがないnodeにはデプロイされない。 たとえばメモリ1Gのnodeがあって、resource reque
注意 この記事は、実運用したことのない、Kubernetes初心者が調べた結果に基づき作成しています。 間違い・誤解などありましたら、コメントや編集リクエストでご連絡ください。 TL;DR / 結論から先に言うと コンテナをクラウドでそのまま動かそうとすると困る n台動かしたいコンテナが、今クラウド全体で何台動いているのかとか デプロイするときに、コンテナを立ち上げたり落としたりする順番・タイミングとか コンテナに割り当てるロードバランサ、ストレージなどの作成とか 他にもいろいろ Kubernetesはクラウド全体のコンテナ周りを一元管理してくれるので便利 どの環境で、どんなコンテナがどれだけ動いているかとか、把握してくれるので便利 コンテナ周りをどんな構成にしたいか、yml形式で書いてkubectlコマンドで渡す 運用者の指示した形になるように、コンテナ周りを一元的に操作してくれるので便
最近勉強を始めたコンテナ技術に関する基礎的な知識をまとめました。 [訂正と注釈] p.27-30: 「Deployment」内の「Version: 1」 => 「Version: 2」 p.37: 「終了コードをから」 => 「終了コードから」 p.39: 「HTTPSが利用できない」=> AWS上では、SSL終端するLBがサポートされています。https://kubernetes.io/docs/concepts/services-networking/service/#ssl-support-on-aws p.40: 「ユーザがingress controllerをmaster上にセットアップする必要」 => master上にセットアップしなければならないという制約はありません。例えばGCEのingress controller(GLBC)はPodとして動作します。https://gi
はじめに Kubernetesがコンテナオーケストレーションツールのデファクトになったといわれて久しい1ですが、今年のAWS re:InventではAmazon EKS2の発表もあり、これからKubernetesに取り組もうという人もいるのではないかと思います。 かくいう私もその一人で、最近この辺りの技術に入門して色々と試していたので、今日はそのまとめを記します。 更新履歴 2020-05-09 Compose on Kubernetesについて追記 2017-12-12 初稿投稿 用語解説 Kubernetesクラスタをローカルマシン上で構築できるようにしてくれるものです。 Kubernetesクラスタを自前で一から構築するのは非常に大変そう(やったことはありません)なのですが、これを使うと簡単に試すことができます。 CIなどでも活用できそうです。 Docker Composeの設定ファ
定額型パブリッククラウド という触れ込みで先日ローンチされたCloudGarage。 cloudgarage.jp そのフレーズのとおり、「1Core/ 1GB/ 50GB なクラウド VM インスタンスが3インスタンスで 1,480円/月 固定(転送量など込み)」という月額定額制のサービスメニューが用意されていて画期的。すでに趣味用途で AWS や GCP などにインスタンスをいくつか立ててる僕にはとても興味深いサービスなわけなんだけど、さらに魅力的なポイントとして、CloudGarage では「Dev Assist Program」なる、開発者向けインスタンス無償提供制度がある。 cloudgarage.jp この申請に通ると、上述の「1Core/ 1GB/ 50GB なクラウド VM インスタンス x3」が1年間無料で利用できる。そして先日、めでたく僕もこの制度の適用申請が通った。あ
EngineeringKubernetes at GitHubOver the last year, GitHub has gradually evolved the infrastructure that runs the Ruby on Rails application responsible for github.com and api.github.com. We reached a big milestone recently: all web… Over the last year, GitHub has gradually evolved the infrastructure that runs the Ruby on Rails application responsible for github.com and api.github.com. We reached a
マイクロソフト、アプリを自動的にDockerコンテナ化してKubernetesへデプロイしてくれる「Draft」をオープンソースで公開 マイクロソフトは、アプリケーションを自動的にDockerコンテナとしてパッケージ化し、Kubernetesのクラスタへデプロイしてくれるツール「Draft」をオープンソースとして公開しました。 これは同社が先月買収したばかりのDeis社のエンジニアが開発しているもので、これまで複雑とされていたKubernetesクラスタへのアプリケーションのデプロイの手順を、わずか2つのコマンドで自動化しています。 1つ目のコマンドは「draft create」。このコマンドは、アプリケーションの開発言語を自動的に判別し、それに合わせてDockerファイルを作成、Kubernetes用のパッケージマネージャであるHelmに対応したパッケージングを行います。 現在のところプ
WHY『変化に強いインフラ』を作ることで、技術にこだわり続ける環境ができ、ビジネスの変化にいち早くキャッチアップできます。 そのためにどのようにして、『変化に強いインフラ』を作ることが出来るのか模索したものをまとめます。 WHATKubernetes 上にアプリケーションを載せるCI/CD 環境構築GitHub Flow の開発スタイルでを元に QA で自分で書いたコードが確認でき、マージをしてmasterへpushしたら、Produciton へすぐにデプロイするサーバースペックを簡単に変えれる/内部で使われるライブラリ等も変更しやすいようにするDeploy の仕組みを自由に変更できるソースコードは以下です。 Github: koudaiii/jjug-ccc2016fall-devops-demoref. GitHub Flow 『変化に強いインフラ』を作っていく上での定義とルール変化
kube-awsという、CoreOS社が公式にKubernetesクラスタをAWS上に構築する方法として開発・公開しているツールがあります。 これがなかなか良くできてるので、Kubernetes on AWSをこれから始める人がkube-awsにたどり着くことがあるだろうな、という想像のもと、自分含めそんな人が(試行錯誤する前に)最初に知っておくとよいことをつらつらと書いていきます。 // …ということを2016年4月頃に書いたのがこの記事の始まりなのですが、いまは筆者がkube-awsのメンテナになってしまったので、ちょっとバイアスがかかってる感は否めないです おおまかな利用手順から、kube-awsのコードを書き換えてコントリビュートするところまでをカバーします。 kube-awsとは CoreOSのドキュメントにもある通り、CoreOS社でCoreOS+Kubernetesクラスタを
minikubeはKubernetes公式のツールで、フル機能のKubernetesをローカル環境に構築することができます。Kubernetesへデプロイするアプリのテスト時、k8s objectをいじるたびにサーバにデプロイ・・みたいなことをするのがこれまで面倒でしたが、minikubeでだいぶ楽になりました。 TL;DR docker-machine + redspread/localkubeよりだいぶ良いです。 ただし、5/31現在の0.1.0では、コンテナから外部ホストをDNSで解決できない問題がある(例えば、DatadogコンテナからメトリクスをDatadogへ送れないとか、apt-get updateできないとか)ので、もうしばらく待ちましょう。 ぼくは、今のところlocalkube+docker-machine最新版+Docker古いの(boot2docker v1.9.1を
PHP Conference 2016の発表資料です kubernetesをつかってゲーム開発の 開発スタイルを変えたお話です
Kubernetesの構成コンポーネントについて一覧をまとめてみました。Kubernetes 1.2時点での情報です。
kubectl create -f x.yamlでReplication Controllerを作成しコンテナが起動するまでに、各コンポーネントがどのように動作するかまとめてみました。Kubernetes 1.2時点での情報です。各コンポーネントの概要は、Kubernetes: 構成コンポーネント一覧をご覧ください。 シーケンス図 各コンポーネントはAPIサーバーのリソースを監視(watch)して非同期に動作するので、実際のアクセスの方向はコンポーネントからAPIサーバーになります。 kubectl createによるReplication Controller作成 kubectl create -f x.yamlでReplication Controllerを作成を実行すると、内部ではAPIサーバーのPOST /api/v1/namespaces/{namespace}/replicat
また、これらに加えてコンテナの実行やイメージの管理を行うためのDockerや、分散型設定共有サービス「etcd」も必要となる。そのほか、異なるマシン上で稼動しているコンテナ間で通信を行うためにLinuxのブリッジ接続機能や「Flannel」、「OpenVSwitch」といった仮想ネットワーク機構なども利用される。 これらのうち、apiserverやcontroller-manager、scheduler、etcdについてはクラスタの管理を行うマスターサーバーで実行されるコンポーネントとなる。また、proxyやkubelet、dockerはコンテナを稼動させる各ノード(minionとも呼ばれる)上で実行されている必要がある。 マスターサーバーとノードを分けた一般的な構成は、次の図2のようになる。なお、kubectlについてはマスターサーバー上でも、別のクライアント上でも実行が可能だ。 図2
Kubernetes は、Docker コンテナのオーケストレーションおよび管理を行うツールです。このナレッジでは、Kubernetes サンドボックスを設定する以下の手順を説明します。 Kubernetes で、2 つのコンテナと yaml ファイルを使用してコンテナをデプロイする Kubernetes でコンテナを管理する この手順では、Kubernetes を使用し、その動作方法を学習するためのサンドボックスを提供するための設定を行います。その後、または、最初により拡張性を持たせるように設定したい場合は、以下のナレッジを参照してください。 Kubernetes クラスターを作成して Docker フォーマットのコンテナイメージを実行する Docker または RHEL Atomic の知識がない場合は、以下のナレッジを参照してください。 Red Hat システムにおける Docker
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く