I am going through the documentation for running coreos on GCE and have 
some questions regarding use.

*1. How do I use etcd v3 on GCE to setup the flannel backend?*

I have followed the instructions here:

https://coreos.com/flannel/docs/latest/gce-backend.html

But that only allows for the creation of etcd Version: 2.3.7.

Is there any updated documentation?

*2. How do I setup etcd v3 on GCE using a cloud config file?*

I have tried to create a an upgraded cluster using a cloud config file as 
follows:

#cloud-config

coreos:
  etcd:
    advertise_client_urls: "http://$INTERNAL_IP:2379";
    listen_client_urls: "http://0.0.0.0:2379";


However, that file does not validate in the online cloud config validator:

deprecated key "advertise_client_urls" (etcd2 options no longer work for 
etcd)
deprecated key "listen_client_urls" (etcd2 options no longer work for etcd)

When I create a new coreos instance on GCE I get the following when I run 
etcd2:

2017-05-29 09:00:12.518926 I | etcdmain: etcd Version: 2.3.7
2017-05-29 09:00:12.518979 I | etcdmain: Git SHA: fd17c91
2017-05-29 09:00:12.518983 I | etcdmain: Go Version: go1.7.6
2017-05-29 09:00:12.518986 I | etcdmain: Go OS/Arch: linux/amd64
2017-05-29 09:00:12.518990 I | etcdmain: setting maximum number of CPUs to 
1, total number of available CPUs is 1
2017-05-29 09:00:12.518994 W | etcdmain: no data-dir provided, using 
default data-dir ./default.etcd
2017-05-29 09:00:12.522628 I | etcdmain: listening for peers on 
http://localhost:2380
2017-05-29 09:00:12.522731 I | etcdmain: listening for peers on 
http://localhost:7001
2017-05-29 09:00:12.522802 I | etcdmain: listening for client requests on 
http://localhost:2379
2017-05-29 09:00:12.522872 I | etcdmain: listening for client requests on 
http://localhost:4001
2017-05-29 09:00:12.522918 I | etcdmain: stopping listening for client 
requests on http://localhost:4001
2017-05-29 09:00:12.522926 I | etcdmain: stopping listening for client 
requests on http://localhost:2379
2017-05-29 09:00:12.522932 I | etcdmain: stopping listening for peers on 
http://localhost:7001
2017-05-29 09:00:12.522937 I | etcdmain: stopping listening for peers on 
http://localhost:2380
2017-05-29 09:00:12.522942 C | etcdmain: cannot access data directory: 
mkdir default.etcd: permission denied

*3. How do I manage etcd versions as they are both setup as services?*

On any GCE instance, when I run:

export ETCDCTL_API=3

etcdctl version

The api does not use the updated version.

It says here:

https://github.com/coreos/docs/blob/master/etcd/etcd-live-cluster-reconfiguration.md

That using a cloud config file to configure etcd creates a drop in but I do 
not see a drop in the location indicated:

/etc/systemd/system/etcd-member.service.d/20-clct-etcd-member.conf

In /usr/lib/systemd/system/ there are the etcd-member.service and 
etcd2.service

Etcd2.service is as follows:

[Unit]
Description=etcd2
Conflicts=etcd.service

[Service]
User=etcd
Type=notify
Environment=ETCD_DATA_DIR=/var/lib/etcd2
Environment=ETCD_NAME=%m
ExecStart=/usr/bin/etcd2
Restart=always
RestartSec=10s
LimitNOFILE=40000
TimeoutStartSec=0

[Install]
WantedBy=multi-user.target


etcd-member.service is as follows:

[Unit]
Description=etcd (System Application Container)
Documentation=https://github.com/coreos/etcd
Wants=network.target
Conflicts=etcd.service
Conflicts=etcd2.service

[Service]
Type=notify
Restart=on-failure
RestartSec=10s
TimeoutStartSec=0
LimitNOFILE=40000

Environment="ETCD_IMAGE_TAG=v3.1.6"
Environment="ETCD_NAME=%m"
Environment="ETCD_USER=etcd"
Environment="ETCD_DATA_DIR=/var/lib/etcd"
Environment="RKT_RUN_ARGS=--uuid-file-save=/var/lib/coreos/etcd-member-wrapper.uuid"

ExecStartPre=/usr/bin/mkdir --parents /var/lib/coreos
ExecStartPre=-/usr/bin/rkt rm 
--uuid-file=/var/lib/coreos/etcd-member-wrapper.uuid
ExecStart=/usr/lib/coreos/etcd-wrapper $ETCD_OPTS
ExecStop=-/usr/bin/rkt stop 
--uuid-file=/var/lib/coreos/etcd-member-wrapper.uuid

[Install]
WantedBy=multi-user.target

Reply via email to