The cloud-config enables you to customize different OS elements, such as network configuration, user accounts, etc. This file uses the YAML format and is processed after each reboot. Adding a cloud-config when creating a container server is optional, you can later edit or add the cloud-config via OnApp API or UI.
To add/edit the could-config for your container server:
- Go to your Control Panel > Cloud > Container Servers menu.
- Click the label of the server you want to edit, to show its details screen.
- Click the Configuration tab, then click Cloud-Config.
- On the page that loads you can add-edit the cloud-config for the container server:
- You can fill in the cloud-config in the Cloud-Config field
- You can insert a cloud-config file from your local computer at the File tab by clicking the Choose File button. After the file is uploaded, cloud-config will appear in the Cloud-Config field.
- You can add a URL to your cloud-config file in the File url field at the File url tab
- Click Submit to save changes.
- After you edit the cloud config, you need to reboot the container server at Control Panel > Cloud > Container Servers > Label > Tools > Reboot Container Server. Changes to the cloud config will not take effect if the server is not rebooted. The reboot should be done via OnApp Control Panel. If the reboot command is issued inside the container server, the changes to the cloud config will not take effect.
Below you can find a cloud config example. This cloud config is added to two container servers and configures communication between these servers by implementing the fleet cluster manager. Users can then create containers with apps on one of the container servers and get tables of those containers on the other container server in the cluster. For more information, refer to CoreOS documentation.
Cloud config example:
#cloud-config write-files: - path: /etc/hosts permissions: '0644' content: | master1_IP master1 coreos00 master2_IP master2 coreos01 coreos: etcd2: name: master1 initial-cluster: master1=http://master1_IP:2380,master2=http://master2_IP:2380 initial-advertise-peer-urls: http://$public_ipv4:2380 advertise-client-urls: http://$public_ipv4:2379,http://$public_ipv4:4001 listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001 listen-peer-urls: http://$public_ipv4:2380,http://$public_ipv4:7001 fleet: public-ip: $public_ipv4 metadata: "role=master" flannel: interface: $public_ipv4 units: - name: etcd2.service command: start - name: fleet.service command: start - name: flanneld.service command: start