CoreOS - 如何使用新令牌?

Jul*_*les 5 coreos

我们有以下问题.在我们的群集中,网址已经改变了.一旦我们更改配置以反映这些更改,网址就不会在'discovery.etcd.io'上更新.所以我们的想法就是使用一个新的令牌.然而,这不起作用.群集未在"discovery.etcd.io"上注册新令牌.每次我们更改网址或令牌时,我们都不想重新安装.有没有更好的办法?重新安装工作没有问题.

#cloud-config
hostname: server1
coreos:
  etcd2:
    # generate a new token for each unique cluster from https://discovery.etcd.io/new?size=3
    discovery: https://discovery.etcd.io/<our token>
    # multi-region and multi-cloud deployments need to use $public_ipv4
    advertise-client-urls: server1:2379
    initial-advertise-peer-urls: server1:2380
    # listen on the official ports
    listen-client-urls: server1:2379
    listen-peer-urls: server1:2380
  #fleet:
  #    public-ip: server1
  #    metadata: region=eu-central-1
  #update:
  #  reboot-strategy: etcd-lock
  units:
    - name: etcd2.service
      command: start
   # - name: fleet.service
   #   command: start
ssh_authorized_keys:
   <our ssh keys>
Run Code Online (Sandbox Code Playgroud)

kri*_*919 4

您无需反复重新安装。以下过程有助于逐步启动集群,而不是拥有一个难以调试的巨大云配置文件。

  1. 停止 etcd 和所有依赖服务(如 flannel、fleet 等依赖于 etcd2 的服务):systemctl stop etcd2

  2. 从 /var/lib/etcd2/* (或 ETCD_DATA_DIR 中的路径)删除 etcd 数据文件

  3. 更改存储在以下位置的云配置文件中的发现令牌:/var/lib/coreos-install/user_data

  4. 重启。