Help! I am running CoreOS and need to add custom cloud-config.

Avatar Linode 11 months, 1 week ago

I need to add my cloud-config I cannot find the file or folder in default location as suggested by CoreOS documentations. Currently Linode documentations do not state how to setup etcd cluster with CoreOS.

Also the documentation states there should be etcd installed version 3. I can use etcdctl but cannot find etcd command. The OS gives error as command not found for etcd. This is an unexpected behavior.

Kindly help me understand what changes are made in Linode distribution of CoreOS as compared to the stock OS, and also help me understand where can I put the cloud-config file to setup etcd cluster as per my configurations.

4 Replies

You may know that cloud-init on CoreOS has been deprecated in favor of Ignition, which is what we use to build our CoreOS image at Linode.

Ignition only runs once when the Linode is booted for the first time, and there is no way (currently) for our customers to supply their own ignition file for configuring their CoreOS deploy.

Therefore, in order to setup an etcd cluster, customers should follow the documentation for reconfiguring an etcd cluster on the CoreOS website


The documentation gives example etcdctl commands which customers should be able to use to setup etcd post-deploy.

Thanks a ton, this helped.

CoreOS official documentation is confusing between its versions and frequently deprecated services.

@ktiagha Are there any plans to allow customers to push custom ignition files (or alternatively specify a container-linux-config which gets automatically transpiled into ignition format) while deployment of new nodes in the future (to skip cluster-reconfiguration step) as the old way to do it without reconfiguration is deprecated option from CoreOS(cloud-config)? Would be a greatly appreciated.

I realize this conversation is about CoreOS, and StackScripts are not supported on CoreOS, but for the sake of anyone that visits this..

I created a StackScript that takes a CloudInit userdata variable (which must be a base64 encoded userdata file).

$ pip install linode-cli
$ read -s -p "password: " ROOT_PASS; echo
$ linode-cli linodes create \
    --root_pass=${ROOT_PASS} \
    --label=cloudinittest \
    --stackscript_id=392559 \
    --stackscript_data='{"userdata":"'$(base64 -i /tmp/user-data)'"}'

I've only verified it for use on Debian/Ubuntu for now.


Please enter an answer

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct