Help! I am running CoreOS and need to add custom cloud-config.
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
--> https://coreos.com/etcd/docs/latest/etcd-live-cluster-reconfiguration.html
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).
https://www.linode.com/stackscripts/view/392559
$ 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.