ECI は Cloud Shell で管理できます。このウォークスルーでは、Cloud Shell を使用して ACK Serverless クラスターと、コンテナ化されたアプリケーション用の ECI インスタンスを作成することで、WordPress をデプロイします。
背景情報
WordPress は、PHP で開発されたブログプラットフォームです。PHP と MySQL に対応したサーバー上で WordPress を使用して Web サイトを構築したり、コンテンツ管理システム (CMS) として使用したりできます。
Cloud Shell は、Alibaba Cloud が提供する、クラウドリソースを管理するためのブラウザベースのコマンドラインツールです。詳細については、「Cloud Shell」をご参照ください。
ACK Serverless クラスターの作成
-
Cloud Shell を開きます。表示されるダイアログボックスで、チュートリアルスクリプトを Cloud Shell にクローンすることを確認してください。
-
WordPress チュートリアルのディレクトリに移動します。
cd eci-wordpress -
(任意) クラスター設定ファイルを変更します。
vim create.jsoncreate.jsonファイルには、ACK Serverless クラスターを作成するためのパラメーターが含まれています。デフォルト設定は次のとおりです。{ "cluster_type": "ManagedKubernetes", "profile": "Serverless", "name": "wordpress-demo", "region_id": "cn-hangzhou", "endpoint_public_access": true, "snat_entry": true, "addons": [{ "name": "csi-provisioner", "config": "" }], "zoneid": "cn-hangzhou-j" }このファイルには、次のパラメーターが含まれています。
-
name:クラスター名。 -
region_id:クラスターがデプロイされているリージョンの ID。 -
endpoint_public_access:API サーバーをインターネットに公開するかどうかを指定します。 -
snat_entry:NAT ゲートウェイを作成して SNAT ルールを設定するかどうかを指定します。 -
zoneid:クラスターがデプロイされているゾーンの ID。
-
-
次のコマンドを実行して、ACK Serverless クラスターを作成します。
aliyun cs POST /clusters --header "Content-Type=application/json" --body "$(cat create.json)"成功すると、次のようなレスポンスが返されます。
cluster_idフィールドには、新しいクラスターの ID が含まれています。{ "cluster_id": "c5789a864e71848ab9fa57013********", "instanceId": "c5789a864e71848ab9fa57013********", "request_id": "C5044E47-7AAD-5D6F-A8D9-2249F1******", "task_id": "T-6528e986ba8151096d******" } -
クラスターのプロパティを表示します。
aliyun cs GET /clusters/<YOUR-CLUSTER-ID>
WordPressアプリケーションのデプロイ
WordPress をインストールする前に、ACK Serverless クラスターが完全に初期化されていることを確認してください。初期化には通常 3~5 分かかります。
-
ACK サーバーレスクラスターに接続します。
source use-k8s-cluster ${CLUSTER_ID}${CLUSTER_ID} を、お使いのクラスターの ID に置き換えます。例:
source use-k8s-cluster c5789a864e71848ab9fa57013******** -
WordPress アプリケーションをデプロイします。
重要wordpress-all-in-one-pod.yamlファイルを使用してデプロイすると、EIP が自動的に作成され、アプリケーションの ECI Pod に関連付けられます。kubectl apply -f wordpress-all-in-one-pod.yaml説明Cloud Shell を開くと、必要なスクリプトをクローンするよう求められます。
wordpress-all-in-one-pod.yamlファイルはeci-wordpressディレクトリにあります。 -
デプロイのステータスを確認します。
kubectl get pods出力例:Pod のステータスが
Runningになると、デプロイは成功です。NAME READY STATUS RESTARTS AGE wordpress 2/2 Running 0 5m59s -
WordPress アプリケーションの EIP アドレスを取得します。
kubectl get -o json pod wordpress |grep "k8s.aliyun.com/allocated-eipAddress"出力例:
"k8s.aliyun.com/allocated-eipAddress": "47.99.XX.XX" -
WordPress アプリケーションのセキュリティグループを設定します。
-
セキュリティグループ ID を取得します。
kubectl get -o json pod wordpress |grep "k8s.aliyun.com/eci-security-group"出力例:
"k8s.aliyun.com/eci-security-group": "sg-bp1fw6ecxb0obm******" -
ポート 80 経由のアクセスを許可するルールをセキュリティグループに追加します。
aliyun ecs AuthorizeSecurityGroup --RegionId ${REGION_ID} --SecurityGroupId ${SECURITY_GROUP_ID} --IpProtocol tcp --PortRange 80/80 --SourceCidrIp 0.0.0.0/0 --Priority 100${REGION_ID} と ${SECURITY_GROUP_ID} を、お使いのリージョン ID とセキュリティグループ ID に置き換えます。例:
aliyun ecs AuthorizeSecurityGroup --RegionId cn-hangzhou --SecurityGroupId sg-bp1fw6ecxb0obm****** --IpProtocol tcp --PortRange 80/80 --SourceCidrIp 0.0.0.0/0 --Priority 100
-
WordPressのインストールとログイン
-
WordPress アプリケーションにアクセスします。
ブラウザのアドレスバーに、WordPress アプリケーションの EIP アドレスを入力します。例:
http://47.99.XX.XX。 -
言語を選択して [続ける] をクリックします。次に、必要な情報を入力し、[WordPressをインストール] をクリックします。
必要な情報には、以下が含まれます。
-
サイトのタイトル:WordPress サイトの名前。
-
ユーザー名:WordPress へのログインに使用するユーザー名。安全なユーザー名を設定してください。
-
パスワード:WordPress へのログインに使用するパスワード。強力なパスワードを設定することを推奨します。
-
メールアドレス:通知の受信に使用するメールアドレス。
-
-
[ログイン] をクリックします。
-
WordPress のインストール時に設定したユーザー名とパスワードを入力し、[ログイン] をクリックします。
ログインすると、WordPress のダッシュボードが表示されます。