Dockerhub k8s関連CLI ARM版有無

- [Qiita マークダウン記法 一覧表・チートシート](https://qiita.com/kamorits/items/6f342da395ad57468ae3)
- [Dockerhub(dockerfile)セキュリティ](https://www.infoq.com/jp/news/2021/03/dockerhub-image-vulnerabilities/)
  - 公開イメージ400万の半数に重大な脆弱性が見つかる
  - [無料セキュリティチェック](https://qiita.com/tomoyamachi/items/e0e69da521505e73237b)

- Centos7移行に伴うコンテナベースOSの選定
    - https://oxynotes.com/?p=6981
      - [Release Candidate(RC)](https://www.sunnycloud.jp/column/20220805-01/)
      - [Generally Available Release(GA)](https://www.sunnycloud.jp/column/20220805-01/)

- [Dockerfile関連](https://gitlab.dnpati.net/SmartCampaign/docker-images/-/tree/5-toolbox-pod)
  - 公式イメージなどの信頼度の高そうなイメージかつArm版が存在する場合は管理の手間が減る
    - マルチステージビルドでのコンテナベースOSと異なる場合、動作しない場合あり(helm,helmfileで確認)
    - 親イメージ見つけて一つのDockerfileにまとめる
  - [秘匿情報](https://terashim.com/posts/docker-build-secret/)
- [kubectl](https://kubernetes.io/ja/docs/tasks/tools/install-kubectl/)
  - 参考イメージ：[bitnami](https://hub.docker.com/r/bitnami/kubectl) | [github issue](https://github.com/bitnami/charts/issues/7305)
    - 1年間arm更新なし
- [helmfile(version 0.145.2以上)](https://github.com/helmfile/helmfile)
  - [公式Helm Dockerfile](https://github.com/helmfile/helmfile/pkgs/container/helmfile)
    - ベースイメージがalpineだったため、使用できず
  - [chatworkARM版あり](https://hub.docker.com/r/chatwork/helmfile/tags)
    - Officialでない
- helm
  - [Verified Publishe](https://matsuand.github.io/docs.docker.jp.onthefly/docker-hub/publish/)である[ibmcom/helm等](https://hub.docker.com/r/ibmcom/helm) -> ARM版なし
  - [alpine/helm, chatwork/helm] ARM版あり
    - officiadでない
- postgresql
  - image => yum install
    - [amazon linux2の場合](https://zatoima.github.io/postgresql-ec2-insatll.html)

- [alpinelinux/ansible](https://hub.docker.com/r/alpinelinux/ansible/tags)
  - arm版あり、SPONSORED OSS
  - [amazon-linux-extras](https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-install-extras-library-software/) => amazonlinux2022からなくなるため利用せず
    - [amazon linux2でのインストール](https://gitlab.dnpati.net/SmartCampaign/docker-images/-/tree/5-toolbox-pod/toolbox/Ansible)

- k8s
  - [alpineのk8s関連dockerfile](https://github.com/alpine-docker/k8s/blob/master/Dockerfile)
  - [chatworksのk8s関連dockerfile]( https://github.com/chatwork/dockerfiles)
  - ClusterRoleBindingとService Account
    - [Podとして実行する場合、kubectlは使えるが権限がない](https://qiita.com/sotoiwa/items/aff12291957d85069a76)
    - [Service Accountの作成](https://dev.classmethod.jp/articles/iam-role-for-gitlab-runner-job/)
    - S3への接続確認(pg_dump)のためannotationsにrole付与

- Centos7移行に伴うコンテナベースOSの選定
    - - CentOS:2024年6月末でサポート終了
- 候補
  - Alma◎, Rocky
    - [almaとrocky比較](https://blog.apar.jp/linux/15640/)
    - [CentOS 7から他のRHEL派生ディストリビューションへの移行を支援するELevate](https://codezine.jp/article/detail/15061)
    - [Alma ⇔ Rocky相互にマイグレーション可](https://foxmaster.blog/blog/archives/311)
  - AmazonLinux2
    - [HULFT対応](https://www.hulft.com/download_file/5924)
    - [2024年6月末でサポート終了](https://aws.amazon.com/jp/amazon-linux-2/faqs/)
      - [AmazonLinux2->amazon linux2022](https://aws.amazon.com/jp/linux/amazon-linux-2022/faqs/)
        - rpmベースの汎用Linuxディストリビューションで、Amazon Linux 2 の後継
        - [2022/11/3 時点でRC版のみ](https://docs.aws.amazon.com/linux/al2022/release-notes/document-history.html)
      - 5年間の長期サポート
    - [Amazon Linux 2 は RedHat 7 がベース](https://www.acrovision.jp/service/aws/?p=609)
    - [メリット](https://www.acrovision.jp/service/aws/?p=609)
      - AWS のサービスを運用するために必要なパッケージや設定が事前に入る
      - 多くの AWS サービスと容易に統合
  - Ubuntu
  - alpine
    - 軽量であるが、マルチステージビルドした場合errorや不具合(マルチステージビルドの場合)
    - ansibleでは利用可能か？


* IAMのポリシーなどコンテナに与える権限を最小化したい。
* オペレーションのコンテナを用途ごとに作成すると構成管理の手間が増えてしまう

- サーバ権限関係サイト
  - AWS API(Terraform, Ansibleなど), K8S API(kubectl, helm, helmfileなど), OS(Ansible)
  - 許可policy
    - role(IAM)とはAWSのAPIに対しての権限を制御するためのサービス
  - pod 
    - [EKS運用のGitLab RunnerジョブにAWSのIAMロールを適用する方法](https://dev.classmethod.jp/articles/iam-role-for-gitlab-runner-job/)
    - NodeのIAMロールを利用する場合、そのNode上で動くKubernetesクラスターの全Podに同じIAMポリシーが適用⇒最小権限の法則に反する
  - 各CLI権限
     - k8s-cli
     - RDS(psqlコマンド)
       - エンドポイント経由
     - Terraform/Ansible
       - IRSA : IAM Roles for Service Accounts
         - [KubernetesのServiceAccountをAWSのIAMエンティティと紐付ける仕組み](https://moneyforward.com/engineers_blog/2021/12/19/irsa/)
         - 
       - [ansible実行時のawsメタデータ取得](https://zenn.dev/ohsawa0515/articles/gather-ec2-info-by-ansible-aws-plugin)
         - [AWS 管理ポリシー: ReadOnlyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/ReadOnlyAccess%24jsonEditor) ansible実行時のfactで必要なため

  - 許可policy
    - role(IAM)とはAWSのAPIに対しての権限を制御するためのサービス

### - [基礎用語](https://qiita.com/umkyungil)  
- [Kubernetes のストレージについて調べる](https://qiita.com/toshihirock/items/0c91bbedf0e144acf6fc)
  - [Volume](https://cstoku.dev/posts/2018/k8sdojo-05/)
    - データの永続化, Pod内でのコンテナ間のデータ共有
    - [emptyDir](https://kubernetes.io/docs/concepts/storage/volumes/#emptydir) : 
    - []
    - [persistentVolumeClaim PVC](https://mpon.hatenablog.com/entry/2017/04/22/014119)
 
  - [psp](https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/pod-security-policy.html)
    - [psp(v1.25まで)->PodsSecurity](https://qiita.com/uesyn/items/cf47e12fba5e5c5ea25f)