

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 具有自訂引導操作的範例叢集
<a name="custom-bootstrap-actions-example-cluster-v3"></a>

下列步驟會建立簡單的指令碼，以便在設定節點後執行，在叢集的節點中安裝 `R,``curl`和 `wget`套件。

1. 建立指令碼。

   ```
   #!/bin/bash
     echo "The script has $# arguments"
     for arg in "$@"
     do
         echo "arg: ${arg}"
     done
     yum -y install "${@:1}"
   ```

1. 將具有正確許可的指令碼上傳至 Amazon S3。如果公有讀取許可不適合您，請使用 [`HeadNode`](HeadNode-v3.md) / [`Iam`](HeadNode-v3.md#HeadNode-v3-Iam) / [`S3Access`](HeadNode-v3.md#yaml-HeadNode-Iam-S3Access)和 [`Scheduling`](Scheduling-v3.md) / [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues)組態區段。如需詳細資訊，請參閱[使用 Amazon S3](s3_resources-v3.md)。

   ```
   $ aws s3 cp --acl public-read /path/to/myscript.sh s3://amzn-s3-demo-bucket/myscript.sh
   ```
**重要**  
如果在 Windows 上編輯指令碼，則在將指令碼上傳至 Amazon S3 之前，必須將行尾從 CRLF 變更為 LF。

1. 更新 AWS ParallelCluster 組態以包含新的`OnNodeConfigured`動作。

   ```
   CustomActions:
     OnNodeConfigured:
       Script: https://<amzn-s3-demo-bucket>.s3.<region>.amazonaws.com/myscript.sh
       Args:
         - "R"
         - "curl"
         - "wget"
   ```

   如果儲存貯體沒有公有讀取許可，請使用 `s3`做為 URL 通訊協定。

   ```
   CustomActions:
     OnNodeConfigured:
       Script: s3://amzn-s3-demo-bucket/myscript.sh
       Args:
         - "R"
         - "curl"
         - "wget"
   ```

1. 啟動叢集。

   ```
   $ pcluster create-cluster --cluster-name mycluster \
     --region <region> --cluster-configuration config-file.yaml
   ```

1. 驗證輸出。
   + 如果您已將自訂動作新增至`HeadNode`組態，請登入前端節點，並執行下列命令`/var/log/cfn-init.log`來檢查位於 `cfn-init.log`的檔案：

     ```
     $ less /var/log/cfn-init.log
       2021-09-03 10:43:54,588 [DEBUG] Command run
       postinstall output: The script has 3 arguments
       arg: R
       arg: curl
       arg: wget
       Loaded plugins: dkms-build-requires, priorities, update-motd, upgrade-helper
       Package R-3.4.1-1.52.amzn1.x86_64 already installed and latest version
       Package curl-7.61.1-7.91.amzn1.x86_64 already installed and latest version
       Package wget-1.18-4.29.amzn1.x86_64 already installed and latest version
       Nothing to do
     ```
   + 如果您已將自訂動作新增至`SlurmQueues`設定，請檢查`cloud-init.log`位於運算節點`/var/log/cloud-init.log`中 的 。使用 CloudWatch 來檢視這些日誌。

   您可以在 Amazon CloudWatch 主控台中檢視這兩個日誌。如需詳細資訊，請參閱[與 Amazon CloudWatch Logs 的整合](cloudwatch-logs-v3.md)。