Kubernetes

AWS Lambdaのコンテナイメージ上のkubectlコマンド実行してEKSを管理してみる

Lambdaのコンテナイメージからkubectlを実行してEKSを操作してみます。AWS Lambda runtime API 辺りが少し面倒ですが、総じてとても便利です。 なじみの人が多いだろうシェルスクリプトで実装していきます。 はじめに 最初に読んでおくべきもの 実装 Lambda…

Falcoとaws-for-fluent-bitを使ってCloudWatchにEKSノード上の危険なシステムコール情報を収集する(Proxy環境)

この記事はBeeX Advent Calendar 2020の12/12の記事です。 EKSのデータプレーンをどう選ぶか考えたとき、個人的にはFargateを積極的に使いたいところですが、まだ制限も多くて要件にフィットしない場合もあります。 そんな時に選択肢として挙がるManaged Nod…

Amazon EKSのPrivate ClusterでContainer Insightsを動かす(インターネット接続不可環境)

この記事はBeeX Advent Calendar 2020の12/4の記事です。 直接インターネット接続不可の環境に構築したEKSのPrivate ClusterでContainer Insightsを動かそうとしたら、ハマりどころが多かったので残しておきます。 前提 方針 Container Insights設定事前作業…

Amazon EKSのService Accountをawscliやkubectl使ったスクリプトで作成する

この記事はBeeX Advent Calendar 2020の12/3の記事です。 Service Accountの仕組みを理解するために、Step By Stepでスクリプト化してみました。 スクリプト 使ってみる 名前空間の作成 スクリプトの実行 ServiceAccountの確認 やっていることを少し解説 1.O…

EKSにOPA GatekeeperをHelmでインストールしてポリシー強制をしてみる

OPA Gatekeeperとは 作業環境 インストール 必須Labelを強制する ポリシーテンプレートの作成(ラベル強制) 制約の作成・適用(ラベル強制) ポリシー違反のテスト ポリシー違反のテスト(正常系) 掃除 Container Registryを強制する ポリシーテンプレート…

EKSでaws-load-balancer-controller使ってInternalのALB Ingress Controllerを作成する

PrivateSubnetに構築したEKSにInternalのALBをIngress Controllerとして構築する作業のメモです。 参考URL PrivateSubnetへのタグ付け EC2ロール作成 CRDの登録 Helmでaws-load-balancer-controllerをインストール テストサーバーのデプロイ 掃除 参考URL 最…

MFA必須の環境下でAmazon EKSでkubectlを使う方法

MFA必須の環境下のEKSでkubectlを実行するための方法です。 結論としては、kubectlは内部的にAWS CLIを打っているので、AWS CLIのMFA設定の手順と同じとなります。 まず ~/.aws/credentials に自身のIAMユーザを登録します。 [base_cred] aws_access_key_id …

Amazon EKSの [system:masters] はどこから来たかWebhookトークン認証まで追ってみた

EKSを作ったユーザ、またはロールに紐付く system:masters というグループがどこから来ているのか、自分の目で確かめたくて掘り進めたので記録を残しておきます。 EKSのsystem:mastersって EKSの認証の仕組み ステップバイステップで追ってみる kubectlの認…

Amazon InspectorでProxy環境内のAmazon EKSのマネージドノードグループを検査する

こちらに続きEKSをProxy環境内で利用する方法です。 yomon.hatenablog.com ネットワーク Inspector AgentにProxy設定 EKSのマネージドノードに設定追加 起動テンプレートのUserDataでProxyを設定 Cloudformation化 Inspectorを実行してみる ネットワーク eks…

Amazon EKSでProxy環境内の マネージドノードグループから外部イメージを利用する

最初に、この記事にたどり着くような要件の場合は、高いセキュリティが必要な環境だと思っています。その場合はインターネット上のレジストリにあるイメージを使うことは本来推奨できるものでは無いと思います。この手順もかなり限定的な用途での利用となる…

ACR(Azure Container Registry)に保存されているイメージの世代管理をしたい

ACRのイメージが溜まるのが気になるので、古いモノ削除したいなと思って調べてみたら以下のMicrosoftの公式ページにまとまっていました。 ただ、記載があるのは、タイムスタンプである期間より古いものとか、タグの付いてないものを削除する手順でした。今回…

AKSやVMで複数マネージドIDに紐付けるとIdentity not foundとなり認証できなくなる件

結論 事象 事象の深掘り 原因を調査 Addon設定前 Addon設定後 最後に 参考URL 結論 複数のマネージドIDを紐付けている時には、認証時にどのマネージドIDを利用するか指定する必要があります。 こう書くと当たり前の話ですが・・ハマりました。 以下の例ではA…

Kubernetes KEDAのログレベルを変更する

KEDAは常時起動でポーリングしQueue等をチェックしているので、結構なログの量になります。 現時点でログのレベルは debug, info, error の3つが設定可能で、デフォルトはinfoとなっています。 https://github.com/kedacore/keda#keda-operator-logging この…

Azure PipelinesでAKSプライベートクラスタにデプロイを行う

AKSはAPIサーバーへの通信をプライベートに限定するプライベートクラスタを構築することが可能です。 ただしDevOpsでCI/CD組もうとすると通常のAKSクラスタだと簡単に統合できたところが、プライベートクラスタだと上手くいきません。(API叩けないので当然で…

kustomizeのvarsを使って環境毎の変数をKubernetesの定義に埋め込んでみる

KubernetesのYAMLを環境毎のに分ける時にkubectlに標準で入っているkustomizeを使ってるのですが、サンプルなどに書かれている patchesStrategicMerge では以下のようなYAML内の値に変数を埋め込めないな。と考えていました。 kustomizeのリポジトリを見てい…

Azure Kubernetes ServiceのPod上でkubectlコマンドをマネージドID認証して実行

AKSでもマネージドIDが使えるようになったことで、KubernetesのPodから定期ジョブなどでkubectlを実行したい時にAzure CLIで認証できるようになりました。 前提 コンテナイメージをビルド ENTRYPOINTのスクリプト イメージのビルド ACRにイメージをビルド Ku…

KEDAを使ってServiceBus Queueに合わせてKubernetesジョブをスケールする

KEDAは「Kubernetes-based Event-Driven Autoscaling」の略で、イベントをトリガーとしてKubernetesのデプロイを管理することを目的としたCRD(Custom Resource Definitio)で、イベントを使ってpodを0~nにスケールイン・アウトできる機能です。 KEDA is a Ku…

Azure Kubernetes ServiceのPodからManaged identities(旧MSI)認証でKey Vaultの情報を取得する

Key Vaultに保存した情報をAKS上のPodから取得するような要件は良くあると思います。でもKey Vaultへの認証をどうしたものかと思っていました。Service Principal使えば良いのですが、AKSでもMSIを使えたら良いなと思い調べていたところ、以下の情報がドキュ…

Azure Kubernetes Serviceデプロイしたらvirtual-nodeが機能しなかったので対応メモ

virtual-nodeアドオンは、Azure Container InstancesをAKS(Azure Kubernetes Service)の仮想ノードとして利用できる便利な機能です。 azure.microsoft.com Azureのウィザードで作成している分には問題無く動いていたのですが、環境構築をTerraform化した際に…

「しくみがわかるKubernetes~Azureで動かしながら学ぶコンセプトと実践知識」を読んだ

今度、Kubernetes使うので、復習としてこちらの書籍読みました。 しくみがわかるKubernetes Azureで動かしながら学ぶコンセプトと実践知識作者:阿佐 志保,真壁 徹発売日: 2019/01/23メディア: 単行本(ソフトカバー) 構成 目次は以下でした。 第1部 導入編 …

MinikubeでACR(Azure Container Registry)を使う

MinikubeからACRにアップロードしたコンテナイメージを利用する方法です。 変数設定 ACRの準備 Service Principalの作成と認証情報取得 Minikubeに認証情報の登録 その他 認証情報を更新する Dockerでログインしてみる 設定の確認 参考URL 変数設定 Azureに…

Dockerの復習にも最適「コンテナ・ベース・オーケストレーション」を読みました

こちらの本を読みました。 コンテナ・ベース・オーケストレーション Docker/Kubernetesで作るクラウド時代のシステム基盤作者:橋本 直哉,須江 信洋,前佛 雅人,境川 章一郎,佐藤 聖規,山田 修司,青山 尚暉,市川 豊,平岡 大祐,福田 潔,矢野 哲朗発売日: 2018/0…