なになれ

IT系のことを記録していきます。

Kubernetes

Horizontal Pod AutoscalerのメトリクスにCloudWatchを使用する

KubernetesのHorizontal Pod Autoscaler(HPA)を使用することで、CPUやメモリの使用状況に応じてPodをスケールアウトすることができます。 また、HPAではカスタムメトリクスを使うことで、CPUやメモリ以外のメトリクスを活用できます。 AWSでは、CloudWatchの…

client-goを使ってKubernetesのAPIに触れた

client-goとは KubernetesのAPIを実行するためのgoのモジュールです。 github.com Kubernetesの拡張にも使われてます。 ゼロから始めるKubernetes Controller / Under the Kubernetes Controller - Speaker Deck これ以降は実際に使ってみた内容です。 筆者…

JAWS-UGコンテナ支部 #16〜EKS on Fargateローンチ記念!EKS祭りだワッショイ 参加レポート

JAWS-UGコンテナ支部 #16〜EKS on Fargateローンチ記念!EKS祭りだワッショイの参加レポートです。 jawsug-container.connpass.com イベント名のとおり、AWSのサービスであるAmazon EKSやそのベースとなるKubernetesについての発表が数多く行われたイベント…

KubernetesでResource requestsとlimitsを最適な値にする方法

Kubernetesでは、ContainerのCPUやMemoryの使用量を設定するためのResource requestsとlimitsの機能があります。 これらの値をどのように決めるかはなかなか難しいのではないかと思います。 ただKubernetesの運用において、Resource requestsとlimitsの設定…

2019年で学んだ技術

2019年を振り返る内容です。 半年過ぎたころからAWSメインのインフラ業務が多くなってきたので、そのあたりで学ぶことが変わったりしました。 AWS 基本的な理解 Udemyのコース「手を動かしながら2週間で学ぶ AWS 基本から応用まで」 ※こちらは現在新規での受…

Kubernetesでエラーを返さずにPodを更新するにはwaitするのが解決策だった

Kubernetesでエラーを返さずにPodを更新するにはどうすれば良いか色々検証しました。 結論はPodが終了する直前にwaitするです。 以下、試したことを書きます。 結論だけ知りたい方はこちらからどうぞ。 今回はNode.jsで検証しましたが 、そのほか全般的に当…

Kubernetes Operatorを試した

試したものはPrometheusのOperatorです。 github.com Kubernetes Operatorとは OperatorはKubernetesに特化したアプリケーションです。Custom Controllerとして実装されています。 Operatorはアプリケーションのデプロイとスケーリングのノウハウをカプセル…

KubernetesのCustom Resourceを試した

KubernetesのCustom ResourceはKubernetesをユーザが拡張するためのものです。 Kubernetesの標準にあるDeploymentのようなリソースをユーザが独自に作成し、リソースの定義に応じて、Kubernetes上のリソースをコントロールすることが可能です。 Controllerと…

Kubernetesでカナリアリリースを試す

Kubernetesではコンテナイメージを実行するのにDeploymentが使われます。 ただこのDeploymentではカナリアリリースを実現することはできません。 そこでArgo Rolloutsを使って、カナリアリリースを試します。 argoproj.github.io 以下に試した内容を示します…

AnsibleとVagrantでKubernetesをセットアップする

以下を試してみた内容です。 kubernetes.io 2019年9月25日現在、この内容を試すとうまく動作しない部分があるので、直しつつ進めました。 なお、ローカルのOSはmacOS 10.14.6になります。 以下、Stepごとに修正点を補記します。 Step 1: Creating a Vagrantf…

AWSでKubernetes環境を構築する際のIngressについて

Ingressはアプリケーションレイヤのロードバランサに当たるリソースでSSL化などが可能になります。 Ingressの実装は様々なIngress Controllerに依存します。 例えば、Nginxを利用したNginx Ingress ControllerやGKEに含まれているGKE Ingress Controllerなど…

MEAN StackをKubernetesで動かす(その2)

前回はHTTPでアクセスするところまでを行いました。 hi1280.hatenablog.com 今回はHTTPS対応を行います。 MEAN Stackのプログラム一式はこちら github.com 実運用に耐えうることを想定して、以下の内容を含めています。 MongoDBの内容が前回までで、今回はHT…

MEAN StackをKubernetesで動かす(その1)

前回はMEAN StackをDocker Composeで動かしてみました。 hi1280.hatenablog.com 今回はMEAN StackをKubernetesで動かします。 Dockerに対応したので、Kubernetesでも動くようになっているはずです。試してみます。 なお、今回のKubernetesの環境はGKE(Google…