kubernetes-the-hard-way/docs/07-bootstrapping-etcd.md

1.5 KiB

Bootstrapping the etcd Cluster

Kubernetes components are stateless and store cluster state in etcd. In this lab you will bootstrap a single node etcd cluster.

Prerequisites

Copy etcd binaries and systemd unit files to the server machine:

scp \
  downloads/controller/etcd \
  downloads/client/etcdctl \
  units/etcd.service \
  root@server:~/

The commands in this lab must be run on the server machine. Login to the server machine using the ssh command. Example:

ssh root@server

Bootstrapping an etcd Cluster

Install the etcd Binaries

Extract and install the etcd server and the etcdctl command line utility:

{
  mv etcd etcdctl /usr/local/bin/
}

Configure the etcd Server

{
  mkdir -p /etc/etcd /var/lib/etcd
  chmod 700 /var/lib/etcd
  cp ca.crt kube-api-server.key kube-api-server.crt \
    /etc/etcd/
}

Each etcd member must have a unique name within an etcd cluster. Set the etcd name to match the hostname of the current compute instance:

Create the etcd.service systemd unit file:

mv etcd.service /etc/systemd/system/

Start the etcd Server

{
  systemctl daemon-reload
  systemctl enable etcd
  systemctl start etcd
}

Verification

List the etcd cluster members:

etcdctl member list
6702b0a34e2cfd39, started, controller, http://127.0.0.1:2380, http://127.0.0.1:2379, false

Next: Bootstrapping the Kubernetes Control Plane