Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

Kubernetesベストプラクティスまとめ一覧 こんにちは、jackです。 Kubernetesベストプラクティスの和訳兼まとめを書いてますが、各回ごとのTL;DR、記事、原文がざっと見れるまとめページあったほうが見やすそうなのでつくりました。 まだ全七回あるので、随時更新していきます。 言うまでもないですが、TL;DRはその回の重要な部分だけ触れてますので、より詳しく知りたい方は各記事もしくは原文をどうぞ。 コンテナイメージを小さくする方法とそのメリット TL;DR ベースイメージは常に小さいサイズのものを使うように心がけよ インタープリタ型言語はAlpineを使え コンパイル型言語はAlpineを使った上でmulti-step buildをしろ 記事:【第一弾】Kubernetesベストプラクティス:Container Images 原文:Kubernetes best practi
ベストプラクティス第四弾です こんにちは、jackです。 今回でKubernetesベストプラクティスもいよいよ中盤です。 今回も前回同様、概念的な部分が多いので長くなりますがお付き合いください。 公式ブログはこちら Kubernetes best practices: Resource requests and limits Kubernetesベストプラクティスまとめ一覧 というページも作りました。 TL;DR プロジェクトやチームが大きくなってきたら、リソース管理をするべし リソース管理には Requests と Limits がある Requestsは最低限割り振られるリソース(CPUやメモリ) Limitsは割り振られるリソースの上限 CPUユニットは m (millicores) Memoryユニットは Mi (mebibyte) もっと詳しく リソース管理をするべし Kube
ベストプラクティス第五弾 こんにちは、jackです。 Kubernetesベストプラクティスも後半戦です。 今回はKubernetesがどのようにPodを終了するのか、1ステップずつ見ていきます。 Kubernetes best practices: terminating with grace TL;DR 常に正常終了処理するアプリケーションを作れ Kubernetesのtermination lifecycleは Terminating State preStop Hook SIGTERM terminationGracePeriod (30秒) SIGKILL もっと詳しく Kubernetesのtermination lifecycle Kubernetesはアプリケーションのモニタリングはもちろんのこと、複数マシーンにアプリケーションをデプロイしたり、違うバージョンを同時に走らせ
Google Kubernetes Engine > Quickstart の私的メモです。 Google Cloud Platform 特有のサービス体系を知るためのもので、Kubernetes については詳しく触れていません。以下に該当する場合は Kubernetes がどのような経緯で生まれたのか?をまず知ることをお勧めします。 仮想マシンとコンテナの区別がつかない。 Server = Machine の発想が抜けていない。 Service Discovery の存在意義がよくわからない。 Machines can run any server, so we don’t dedicate specific machines to specific server programs. There’s no specific machine that runs our mail serve
Google Cloud Platform Marketplace(Beta版)が公開されて最初からGitLab Helm Chartが3クリックインストールできるようになりました。 かなり楽ですが、今回手動で挑戦してみたいと思います。 事前準備 Google Cloud PlatformでProjectを作成 ProjectにKubernetes APIを有効化 gcloud gcloud auth loginで認証 Chartのレポジトリをclone Mac OSの場合、スクリプトの微修正が必要 GKEクラスタの構築 GitLabが一番力を入れているクラウドサービスプロバイダーだけがあって、クラスタの構築ツールを公開してくれています。 今回あえてスクリプトを使わずに手動で行います。 > gcloud auth login > gcloud config set project bake
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Stackdriver Kubernetes Monitoring がベータ版としてリリースされて、 そっちに移行するとログまわりの構成が以前 (GKEがデフォルトで提供してくれるログ まとめ) とはかなり変化する。 GKE ~ が以前までのログ。 クラスタ作成時に↓のチェックをつけて新しいモニタリングにすると、 Kubernets~ になる。 なお1.10以上必須で、さらに、クラスタ新規作成じゃないと有効にはできない 1.9から1.10にしても、Kubernetes Monitoringは有効にできないので少しハードルが高い。 (ただ
概要 SSL証明書をLet's encryptで取得し、自動更新する仕組みをk8s/GKEに構築します。 Google Cloud Shell で Helm をインストール GCPにTiller用のサービスアカウントを作成 Helmでk8sにcert-managerをインストール CloudDNS設定用のサービスアカウントを作成し、credential jsonを取得し、k8s secretに格納 cert-managerを使ってIssuerを設定する際に、上記の CloudDNS secretを付与 cert-managerのIssuerによってSSL証明書を作成 CloudDNSにStatic IPを作成 k8s Ingressを作成し、Static IPとSSL証明書を付与 下図のように、SSL証明書が正しく取得できました。 参考 GKE で TLS 証明書を自動管理(cert-ma
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? create cluster gcloud container clusters create k0 Launch a single instance: kubectl run nginx --image=nginx:..* Get pods kubectl get pods Expose nginx kubectl expose deployment nginx --port 80 --type LoadBalancer List services kubectl get services Kubernetes cheat sheet
こんにちは。 CETというチームに所属している@mihirat です。 OSSのCI/CDとして有名なDroneを Helmを使ってGKE上に構築し、 cloudSQLをバックエンドとして使い、 Github Enterpriseと連携する やり方をまとめます。 最後までこの記事を読むと、Helmも、Droneもわかってしまう美味しい記事となっているはずです。 なお先に白状すると、10分というのはGithubの場合(頑張ればそれくらいいけるんじゃないだろうか…?)で、 Github Enterpriseだと多分ネットワーク周りで作業が多いのでもっとかかります。ご容赦ください。 導入編 Droneって? 公式サイト 無料で使える、Go製のCI/CDツールです。 Github/Github Enterpriseなどと連携でき、リポジトリに簡単な .drone.yml を含めることでPRなどがh
概要 Dockerコンテナに格納されているAppをGKEのKubernetes Engineで稼働させることを目標とします。 稼働させるAppについては、GCP公式のhello-appを利用します。リクエストに対して「Hello, World!」というメッセージで応答します(port80) 事前準備 Google Cloud PlatformのKubernetes Engineで任意のプロジェクトを作成してください。 プロジェクトに対する課金を有効にしてください。→プロジェクトの請求設定の変更 基本的なgcloud, kubectlコマンドなどの初期設定については公式かk8s : GKEによるKubernetesセットアップ(クラスタ作成まで)〜無料枠〜を参照してください。 ステップ 1: コンテナ イメージを作成する. Kubernetes Engine は、Docker イメージをアプ
. ├── build.gradle ├── Dockerfile ├── gradle │ └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src ├── main │ ├── kotlin │ │ └── com │ │ └── sugikeitter │ │ └── kotlinboot │ │ ├── controller │ │ │ └── HelloController.kt │ │ ├── data │ │ │ └── Hello.kt │ │ └── KotlinbootApplication.kt │ └── resources │ └── application.yml └──
背景 ローリングアップデートは、システムがダウンしないように少しずつアップデートをする手段です。 古いバージョンのコンテナを残しつつ、新しいバージョンのコンテナを生み出すことで実現します。 Blue Green Deploymentと同じような感じですが、新旧システムが混在する時間が存在します。 kubernetesではrolling-updateコマンドがありますが、現在はより上位概念のdeployemntを使うのが推奨されているようです(http://kubernetes.io/docs/user-guide/rolling-updates/)。 以下のようにdeployment.ymlを設定すると、ローリングアップデートを実行してくれます。 この設定でapplyをするだけで、変更後のコンテナが生まれ古いコンテナが消えてゆきます。 この場合、新コンテナ内の準備が整うまでアクセスできない
Dockerコンテナのオーケストレーションとして、巷で話題となっている"Kubernetes"の基本動作を試してみました。 目標感としては、マイクロサービス的な、複数のDockerコンテナが協調しあって、全体動作の振る舞いが決定されるような機能確認を試してみたかったので、OpenStack内部モジュールを、をKubernetesで動作させることにしました。なお、OpenStackのコアコンポーネント(Nova, Neutron, Keystone, Glanceモジュール)と、MYSQLの5つのDockerコンテナを題材にしてみました。 いま時点では、libvirt経由でVMインスタンスをデプロイする部分は、省略しています。 ■ 事前準備 (1) 事前に、Cloud SDKを有効にしておく gcloudコマンドで作業できるように、Cloud SDKをセットアップしておく (2) Webコン
Kubernetesはコンテナを使ったシステムのライフサイクルを管理するオープンソースです。 大体のインフラ1で動きますが、今回はKubernetesの環境が予め用意されているGKEを使って、使う側の視点で学びたいと思います。 大雑把な理解 まず、ざっくり構成を把握するために図を見てみます 。 図:Kubernetes architecture 左側がKubernetesのコントローラーで、右側が管理対象のコンテナです。以下の単語を簡単に抑えておきます。 Node・・Dockerが動くマシンのこと。 Pod・・コンテナを配置する入れ物。この単位でスケールさせたりします。 Proxy・・コンテナとの通信を経由するプロキシ。 APIやコマンドラインで管理するときに、以下の単語が頻繁に出てくるのでざっくり覚えておきます。 Deployments 2・・Pod(コンテナ)を管理するもの Servi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く