2020-01-01から1年間の記事一覧
PodSecuriyPolicyのdefaultAllowPrivilegeEscalationの意味がよくわからなかったので、確認したメモ。 まず、KubernetesのデフォルトでPSPを有効にしていない状態では、権限昇格は許可されている。 root@cks-master:~# k run pod1 --image=nginx pod/pod1 cr…
プロセスに与えられているケーパビリティーや、権限昇格を許されているかなどを確認するには以下を見ればよい。 cat /proc/<PID>/status / # cat /proc/1/status Name: sleep Umask: 0022 State: S (sleeping) Tgid: 1 Ngid: 0 Pid: 1 PPid: 0 TracerPid: 0 Uid: </pid>…
kubeadmで作成したクラスターでランタイムをDocker/conainerd/runcからcontainerd/runsc(gvisor)に変えてみたメモ。 参考リンク https://gvisor.dev/docs/user_guide/install/ https://github.com/killer-sh/cks-course-environment/tree/master/course-cont…
kubeadmで作成したクラスターでetcdでのSecretの暗号化を有効にする方法のメモ。 デフォルト状態 デフォルト状態ではSecretは暗号化されていないので、etcdctlを使ってetcdに直接アクセスすれば見ることができる。 Secretを作成する。 root@cks-master:~# k …
CKSの勉強をしていて、kube-apiserverの特にセキュリティまわりの設定ポイントを学んだので、EKSの場合はどうなのかを確認したメモ。 フラグの確認方法 kuber-apiserverの起動フラグを確認するには、コントロールプレーンのロギングを有効化して、ログを見れ…
EKSクラスターへのアクセスは普通はIAMで行うが、それ以外のやり方で行うとしたら以下がありそう。 ユーザーの証明書を発行する ServiceAccountを作ってそのトークンをダウンロードして使う できるのかを確認しようとしたメモ。 コンポーネント バージョン …
プロセスの引数が長いとき、スペースを改行に置換してあげると多少見やすい。 ps -ef | grep kubelet | tr ' ' '\n' root@cks-master:~# ps -ef | grep kubelet root 1178 1 3 17:46 ? 00:01:00 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bo…
オリジナル https://github.com/kelseyhightower/kubernetes-the-hard-way 日本語訳・解説 https://github.com/inductor/kubernetes-the-hard-way Kubernetes The Hard Wayする AWS版 https://github.com/prabhatsharma/kubernetes-the-hard-way-aws https:/…
ClusterIPで公開されたPodにアクセスするには普通はkubectl port-forwardを使う。 k port-forward grafana-5fc4f5779d-wbmsd 3000:3000 # あるいは k port-forward deploy/grafana 3000:3000 # あるいは k port-forward svc/grafana 3000:80 これでhttp://lo…
curlで名前解決のメモ。 Nginx Ingress Controllerを使って以下のようなIngressリソースを作成したとする。 apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: secure-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: / s…
kubeadmでEKS Distroをデプロイしてみたメモ。 kubeadmを使用したシングルコントロールプレーンクラスターの作成 AWSでCentOS 7にKubernetes 1.11をkubeadmでインストール Running Kubernetes cluster with Amazon EKS Distro across AWS Snowball Edge シン…
CloudShellをいい感じにセットアップするメモ。随時更新予定。 ツールの導入。 sudo yum -y install bash-completion mkdir -p $HOME/bin curl -L "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar …
いつもわからなくなるのでメモ。 apiVersion: v1 kind: ConfigMap metadata: name: aws-auth namespace: kube-system data: mapRoles: | - groups: - system:bootstrappers - system:nodes rolearn: arn:aws:iam::XXXXXXXXXX:role/eksctl-ekshandson-nodegro…
EKS Distroをkopsで動かしてみたメモ。 参考リンク EKS Distro Amazon EKS Distro: Amazon EKS で使用される Kubernetes ディストリビューション 手順 https://distro.eks.amazonaws.com/users/index.html まずリポジトリをクローンする。 git clone git@git…
ALBの後ろにLambdaを置いてみたメモ。 アプリケーションロードバランサー(ALB)のターゲットにAWS Lambdaが選択可能になりました 手順 マネコンでLambda関数を作成する。以下を設定しその他はデフォルトを選択。 項目 値 備考 作成方法 一から作成 関数名 myH…
KindでEKS Distroを起動してみたメモ。 Unboxing EKS Distro! #ContainersFromTheCouch EKS Distro Amazon EKS Distro: Amazon EKS で使用される Kubernetes ディストリビューション 手順 Kindのクラスター定義ファイルを作成する。これはKubestackが提供し…
kopsを試してみたメモ。 コンポーネント バージョン 備考 kops 1.18.2 参考リンク https://github.com/kubernetes/kops https://kops.sigs.k8s.io/ kopsを使ったAWS上でのKubernetesのインストール kopsを使ってKubernetesクラスタをAWS上で構成 手順 準備 G…
eksworkshopのEFKスタックによるロギングのチュートリアルをやってみたメモ。 コンポーネント バージョン 備考 eksctl 0.32.0 Kubernetes バージョン 1.18 プラットフォームのバージョン eks.3 Elasticsearch のバージョン 7.4 AWS for Fluent Bit 2.9.0 参…
eksworkshop.comのOPAのチュートリアルをやってみたメモ。 コンポーネント バージョン 備考 eksctl 0.31.0 Kubernetes バージョン 1.18 プラットフォームのバージョン eks.2 Gatekeeper 3.1.0 参考リンク Using Open Policy Agent (OPA) for policy-based co…
EKSでPodSecurityPolicyをちゃんと設定する方法を確認してみたメモ。 コンポーネント バージョン 備考 eksctl 0.31.0 Kubernetes バージョン 1.18 プラットフォームのバージョン eks.2 kube-psp-advisor 2.0.0 参考リンク ポッドのセキュリティポリシー Usin…
ターゲット追跡スケーリングとスケジュールスケーリングを併用できるのか確認したメモ。 参考リンク ECSをスケジュールベースでスケールさせる スケジュールに基づくスケーリング AWS CLI を使用した開始方法 put-scheduled-action 準備 前回の続きとして実…
マネジメントコンソールからはECSタスク用にApplication Auto Scalingで事前定義された以下のメトリクスでのターゲット追跡スケーリングが設定できる。 ECSServiceAverageCPUUtilization (Average) ECSServiceAverageMemoryUtilization (Average) ALBRequest…
external-dnsを試してみたメモ。 前回AWS Load Balancer Controllerを試したクラスターをそのまま使う。 コンポーネント バージョン 備考 eksctl 0.30.0 Kubernetes バージョン 1.18 プラットフォームのバージョン eks.1 aws-load-balancer-controller 2.0.0…
AWS Load Balancer Controllerを試してみたメモ。 コンポーネント バージョン 備考 eksctl 0.30.0 Kubernetes バージョン 1.18 プラットフォームのバージョン eks.1 aws-load-balancer-controller 2.0.0 参考リンク [What's New]Introducing the AWS Load Ba…
Elastic Beanstalkの理解のためにFlaskでのチュートリアルをやってみたメモ。 Elastic Beanstalk への flask アプリケーションのデプロイ 仮想環境の設定 ローカルのPythonのバージョンを確認する。 $ python --version Python 2.7.16 $ python3 --version P…
kube-benchを使ってEKSのCISベンチマークを実行してみたメモ。EKS Workshopにトピックがあるのでそちらにしたがって実施する。 コンポーネント バージョン 備考 eksctl 0.27.0 Kubernetes バージョン 1.17 プラットフォームのバージョン eks.3 kube-bench 0.…
Organizations配下のマルチアカウントでのAWS Config設定 上記の続きで、アグリゲータを設定したメモ。 参考リンク マルチアカウントマルチリージョンのデータ集約 AWS::Config::ConfigurationAggregator 方針 ユーザーガイドにはマネジメントコンソールやCL…
Telepresenceを試してみたメモ。 大きくは3つの機能がある。 ローカルのプロセスをクラスターのDelpoymentと入れ替える機能 ローカルのプロセスをクラスター と接続する機能 ローカルマシンにクラスターのDeploymentへのアクセスを流す 準備 Installing Tele…
MFAが必須の場合のCLIでのスイッチロール方法のメモ。 参考リンク MFA トークンを使用して、AWS CLI 経由で AWS リソースへのアクセスを認証する方法を教えてください。 CLIでのスイッチロール アクセスキーだけでMFAが必須なIAMロールへスイッチロールする…
CLIでスイッチロールする方法のメモ。 アカウント111111111111から222222222222のhogehoge-roleロールにスイッチする アカウント222222222222ではアカウント111111111111を信頼したhogehoge-roleロールが作成済み コマンドでスイッチロール 現在のアイデンテ…