3.WordpressをEKS(1/n)-EFSを設定
EKS環境にWordrpestを配備します.
Wordpressコンポーネントは公開管理され、MySQLコンポーネントは専用管理されます.
Wordpressはサービスのタイプを利用することができます:LoadBankまたはIngressはサービスを露出します.
まず1番案で次のヒントも2番方法で( リファレンス )
インストールツール:eksctl ノード数:3個 バージョン: 導入: ×2 Secret の利用 SVC:LoadBarangerタイプ生成 インポート(オプション):ドメインを作成してRoute 53に割り当てる PVC : EFS
Amazon EKSクラスタのAmazonEFSファイルシステムを作成します.
CSIドライバのサービスアカウントでは、AWSDIがユーザーの代わりに使用されます. IAMロールを作成し、このロールにIAMポリシーを接続します.IAMロールのコメントをKubernetesサービスアカウントに追加し、Kubernetesサービスアカウント名に追加します.ロールを作成します. 次のコマンドは、IAMロールおよびKoubernetesサービスアカウントを作成します.ポリシーをロールに接続し、IAMロールをKoubernetesサービスアカウントに追加し、Koubernetesサービスアカウント名をIAMロールの信頼ポリシーに追加します.クラスタにIAM OIDCプロバイダがない場合、コマンドはIAM OIDCプロバイダも作成します.
このプロセスには少なくともHelm V 3が必要です.
インストールHelm
-> helmリポジトリを追加します. リポジトリを更新してください. チャートをインストールします.クラスタがap-東北-2地域にない場合は、セル に適合するようにアドレスを変更してください.クラスタを含むVCC IDを検索し、その後のステップで使用するために変数に保存します.Replace(<>)をクラスタユーザー名に変更します. クラスタ上のVPCのCIDR範囲を検索し、その後のステップで使用するために変数に保存します. AmazonEFSマウントポイントでのインバウンドNFS通信を許可するインバウンド・ルールを使用して、セキュリティ・グループを作成します. ファイルシステムを作成します.
読み込みターゲットを作成します.
1.クラスタノードのIPアドレスを決定します.
Wordpressコンポーネントは公開管理され、MySQLコンポーネントは専用管理されます.
Wordpressはサービスのタイプを利用することができます:LoadBankまたはIngressはサービスを露出します.
まず1番案で次のヒントも2番方法で( リファレンス )
1.1設置要求
インストール要件
Wordpress詳細
1.2 EFS構成
Amazon EKSクラスタのAmazonEFSファイルシステムを作成します.
1.2.1 Amazon EKSクラスタにAmazon EFS CSIドライバを配備する(IAMポリシーとロールの作成)
GitHubからIAMポリシードキュメントをダウンロードします。
curl -o iam-policy-example.json https://raw.githubusercontent.com/kubernetes-sigs/aws-efs-csi-driver/v1.2.0/docs/iam-policy-example.json
ポリシーを作成します.次のAmazonEKS_EFS_CSI_Driver_Policy
を別の名前に変更できますが、そうする場合は、次の手順で変更する必要があります.aws iam create-policy \
--policy-name AmazonEKS_EFS_CSI_Driver_Policy \
--policy-document file://iam-policy-example.json
eksctl create iamserviceaccount \
--name efs-csi-controller-sa \
--namespace kube-system \
--cluster <cluster-name> \
--attach-policy-arn arn:aws:iam::<Account ID>:policy/AmazonEKS_EFS_CSI_Driver_Policy \
--approve \
--override-existing-serviceaccounts \
--region ap-northeast-2
1.2.2 Amazon Amazon EFSドライバのインストール
このプロセスには少なくともHelm V 3が必要です.
インストールHelm
->
helm repo add aws-efs-csi-driver https://kubernetes-sigs.github.io/aws-efs-csi-driver/
helm repo update
helm upgrade -i aws-efs-csi-driver aws-efs-csi-driver/aws-efs-csi-driver \
--namespace kube-system \
--set image.repository=602401143452.dkr.ecr.ap-northeast-2.amazonaws.com/eks/aws-efs-csi-driver \
--set serviceAccount.controller.create=false \
--set serviceAccount.controller.name=efs-csi-controller-sa
1.2.3 Amazon EKSクラスタのAmazon EFSファイルシステムを作成するには
vpc_id=$(aws eks describe-cluster \
--name <cluster-name> \
--query "cluster.resourcesVpcConfig.vpcId" \
--output text)
cidr_range=$(aws ec2 describe-vpcs \
--vpc-ids $vpc_id \
--query "Vpcs[].CidrBlock" \
--output text)
1.セキュリティグループを作成します。置換example値を値に置き換えてください。
security_group_id=$(aws ec2 create-security-group \
--group-name MyEfsSecurityGroup \
--description "My EFS security group" \
--vpc-id $vpc_id \
--output text)
####2. クラスタ内のVPCに対してCIDRがインバウンドNFS通信を許可するインバウンドルールを作成します.aws ec2 authorize-security-group-ingress \
--group-id $security_group_id \
--protocol tcp \
--port 2049 \
--cidr $cidr_range
1.2.4 Amazon EKSクラスタのAmazon EFSファイルシステムを作成します。
file_system_id=$(aws efs create-file-system \
--region ap-northeast-2 \
--performance-mode generalPurpose \
--query 'FileSystemId' \
--output text)
読み込みターゲットを作成します.
1.クラスタノードのIPアドレスを決定します.
kubectl get nodes
2.VPCのサブネットIDとサブネットが存在する利用可能領域を確認する.aws ec2 describe-subnets \
--filters "Name=vpc-id,Values=$vpc_id" \
--query 'Subnets[*].{SubnetId: SubnetId,AvailabilityZone: AvailabilityZone,CidrBlock: CidrBlock}' \
--output table
結果| DescribeSubnets |
+------------------+--------------------+----------------------------+
| AvailabilityZone | CidrBlock | SubnetId |
+------------------+--------------------+----------------------------+
| ap-northeast-2c | 192.168.128.0/19 | subnet-6e421a0e97 |
| ap-northeast-2b | 192.168.96.0/19 | subnet-d0503db0ec |
| ap-northeast-2c | 192.168.32.0/19 | subnet-2ba886490 |
| ap-northeast-2b | 192.168.0.0/19 | subnet-123c7c5182 |
| ap-northeastt-2a | 192.168.160.0/19 | subnet-EXAMPLE0416ce588p |
| ap-northeast-2a | 192.168.64.0/19 | subnet-12c68ea7fb |
+------------------+--------------------+----------------------------+
3.ノードが存在するサブネットにマウントターゲットを追加します.最初の2ステップの出力では、クラスタのIPアドレスは`192.168.56.0です.IPアドレスはCidrBlockサブネットのIDSubnet-EXAMPLE 2 ba 886490である.したがって、次のコマンドは、ノードが存在するサブネットのマウントターゲットを作成します.クラスタ内により多くのノードが存在する場合、ノードが存在するAZサブネットごとにコマンドが発行され、サブネット-EXAMPLE 2 ba 886490が対応するサブネットIDに置き換えられる.aws efs create-mount-target \
--file-system-id $file_system_id \
--subnet-id subnet-034e836661d362946\
--security-groups $security_group_id
mount targetの困難な旅を確定する...
echo $file_system_id
fs-4c6ad02c
aws efs describe-mount-targets --file-system-id fs-4c6ad02c
{
"MountTargets": [
{
"MountTargetId": "fsmt-cec8b5af",
"VpcId": "vpc-0dfde63787164eaed",
"AvailabilityZoneId": "apne2-az1",
"NetworkInterfaceId": "eni-0f71d47acb3de43d9",
"AvailabilityZoneName": "ap-northeast-2a",
"FileSystemId": "fs-4c6ad02c",
"LifeCycleState": "available",
"SubnetId": "subnet-01f6009c85f598ad6",
"OwnerId": "970698899539",
"IpAddress": "192.168.7.96"
},
{
"MountTargetId": "fsmt-dcc8b5bd",
"VpcId": "vpc-0dfde63787164eaed",
"AvailabilityZoneId": "apne2-az4",
"NetworkInterfaceId": "eni-0113b2069eb397b75",
"AvailabilityZoneName": "ap-northeast-2d",
"FileSystemId": "fs-4c6ad02c",
"LifeCycleState": "available",
"SubnetId": "subnet-0a9a0be5aa87f011f",
"OwnerId": "970698899539",
"IpAddress": "192.168.54.215"
},
{
"MountTargetId": "fsmt-a0c8b5c1",
"VpcId": "vpc-0dfde63787164eaed",
"AvailabilityZoneId": "apne2-az3",
"NetworkInterfaceId": "eni-0d1ac4740fd4c7546",
"AvailabilityZoneName": "ap-northeast-2c",
"FileSystemId": "fs-4c6ad02c",
"LifeCycleState": "available",
"SubnetId": "subnet-034e836661d362946",
"OwnerId": "970698899539",
"IpAddress": "192.168.84.177"
}
]
}
Reference
この問題について(3.WordpressをEKS(1/n)-EFSを設定), 我々は、より多くの情報をここで見つけました https://velog.io/@yuran3391/3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol