Как установить программное обеспечение после развертывания моего стека в облачной информации - PullRequest
0 голосов
/ 18 октября 2019

Как установить программное обеспечение или создать файлы или обновить файлы до экземпляра после того, как я создал стек. AWS::CloudFormation::Init если мы используем это, нам нужно запустить скрипт Userdata, и он перезапустит сервер (или завершит работу первого экземпляра и создаст новый экземпляр), но я не хочу создавать или удалять первый экземпляр.

Есть ли у них какой-либо способ напрямую установить форму программного обеспечения CloudFormation.

, пожалуйста, помогите

1 Ответ

0 голосов
/ 22 октября 2019

Вот пример создания экземпляра Ceph. сценарий userdata используется для установки программного обеспечения, и вы увидите пример его создания файла /etc/logrotate.d/allvarlogs. Это всего лишь скрипт bash, закодированный в облачной информации.

 "CephServerInstance1" : {
  "Type" : "AWS::EC2::Instance",
  "DependsOn" : "StaticIPAddress1",
  "Properties": {
    "BlockDeviceMappings": [
      {
         "DeviceName" : "/dev/sda1",
         "Ebs" : { "VolumeSize" : { "Ref": "EbsDeviceSize" } }
      },
      {
         "DeviceName" : "/dev/sda2",
         "Ebs" : {
           "VolumeSize" : { "Ref": "DataDeviceSize" },
           "DeleteOnTermination" : true,
           "Encrypted" : false
         }
      }
    ],
    "IamInstanceProfile" : { "Ref" : "InstanceProfile"},
    "Tags": [
      {
        "Key" : "Name",
        "Value" : "ceph-1"
      }
    ],
    "ImageId" : { "Ref" : "ImageId" },
    "InstanceType": { "Ref" : "InstanceType" },
    "KeyName"  : { "Ref": "KeyName" },
    "SourceDestCheck": false,
    "NetworkInterfaces": [
      {
        "NetworkInterfaceId": { "Ref": "StaticIPAddress1" },
        "DeviceIndex": 0
      }
    ],
    "CreditSpecification": {
      "CPUCredits": "standard"
    },
    "UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [
      "#!/bin/bash\n",
      "yum -y update\n",
      "yum -y install epel-release\n",
      "yum install -y htop\n",
      "yum install -y vim\n",
      "curl -O https://bootstrap.pypa.io/get-pip.py\n",
      "python get-pip.py --user\n",
      "export PATH=~/.local/bin:$PATH\n",
      "pip install awscli --upgrade --user\n",
      "yum erase -y 'ntp*'\n",
      "yum -y install chrony\n",
      "echo 'server 169.254.169.123 prefer iburst' >> /etc/chrony.conf\n",
      "systemctl restart chronyd\n",
      "# Set up log rotation\n",
      "cat <<EOF >/etc/logrotate.d/allvarlogs\n",
      "/var/log/*.log {\n",
          "rotate ${LOGROTATE_FILES_MAX_COUNT:-5}\n",
          "copytruncate\n",
          "missingok\n",
          "notifempty\n",
          "compress\n",
          "maxsize ${LOGROTATE_MAX_SIZE:-100M}\n",
          "daily\n",
          "dateext\n",
          "dateformat -%Y%m%d-%s\n",
          "create 0644 root root\n",
      "}\n",
      "EOF\n",
      "echo done > /home/centos/done.txt\n"
    ]]}}
  }
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...