[Container/k8s] Kubernetes on AWS/EKSベストプラクティス
EKS optimized AMI
Masterの無停止Verうp
CloudwatchLogs(Insight), Datadog Logs, ESへ
NDJSONで送ると便利。
Grafana
Loki: 分散トレーシング
eksctl
terraform-eks
NodePort配下は全LB対象Pod.1つ普通でもiptableレベルで対応。
Tools
- eksctl
- munikube
- kubectl
- kubens, kubectx
- helm
- terraform
- aws-iam-authenticator
- kube2iam,kiam
- bash
- awscli
パッケージ管理
- helm
- helm-tiller
- helm-s3
- helm-diff
さらなる高度化、自動化へ
- helmfile
- sops。。。設定ファイル暗号化
- variant...circle/config.yamlみたいな
anydep
eksctl
kube-ssm-agent / ssh-sh / awscli
kube-node-init
kodedeploy
セキュリティ
- cilium
- kube2iam / kiam / kube-aws-iam-cont
- falco-operator
- elastalent / elastalert
モニタリングツール
- stable/prometheus-operator
- amixr.io
- process-exporter
- AWS ES + awsbeats + Kinesis + S3
- CloudWatchはLogsの課金とRateLimit厳しい、Metricsの課金が厳しい。
クラスタの再作成のために、
- PersistentVolume使わない
- cluster-autoscaleはstaticモードに
- ServiceはNodePort
- Ingress使わないほうが良い
external-dns使わない方が良い
https://github.com/mumoshu/kodedeploy
B/GDeployできる、RollingUpdate