![anthony.bellino](/assets/img/avatar_default.png)
1) Adds etcd on demand job for backup and restore. 2) Adds dbutils implementation to perform manual local and remote backup/restore for etcd. 3) Adds the openstack and swift clients to the etcdctl utlity pod so that this pod can access etcd remote gateway backup files via the swift interface. 4) Adds kubectl to create backup/restore etcd jobs. Change-Id: Iadfaa828366bae3a98552891c24d669f2922e1d1
Etcdctl Utility Container
Prerequisites: Deploy Airship in a Bottle (AIAB)
To get started, deploy Airship and OpenStack Helm (OSH). Execute the following in a fresh Ubuntu 16.04 VM having these minimum requirements:
- 4 vCPU
- 20 GB RAM
- 32 GB disk storage
- Add the following entries to
/etc/sudoers
.
root ALL=(ALL) NOPASSWD: ALL
ubuntu ALL=(ALL) NOPASSWD: ALL
- Install the latest versions of Git, CA Certs, and Make if necessary.
set -xe \
sudo apt-get update \
sudo apt-get install --no-install-recommends -y \
ca-certificates \
git \
make \
jq \
nmap \
curl \
uuid-runtime
Deploy Airship in a Bottle (AIAB)
Deploy Airship in a Bottle (AIAB), which deploys the etcdctl-utility pod.
sudo -i \
mkdir -p root/deploy && cd "$_" \
git clone https://opendev.org/airship/treasuremap \
cd /root/deploy/treasuremap/tools/deployment/aiab \
./airship-in-a-bottle.sh
Usage and Test
Get into the etcdctl-utility pod using kubectl exec
.
Perform an operation as in the following example.
kubectl exec -it <POD_NAME> -n utility -- /bin/bash
Example:
utilscli etcdctl member list
utilscli etcdctl endpoint health
utilscli etcdctl endpoint status
nobody@airship-etcdctl-utility-998b4f4d6-65x6d:/$ utilscli etcdctl member list
90d1b75fa1b31b89, started, ubuntu, https://10.0.2.15:2380, https://10.0.2.15:2379
ab1f60375c5ef1d3, started, auxiliary-1, https://10.0.2.15:22380, https://10.0.2.15:22379
d8ed590018245b3c, started, auxiliary-0, https://10.0.2.15:12380, https://10.0.2.15:12379
nobody@airship-etcdctl-utility-998b4f4d6-65x6d:/$ utilscli etcdctl endpoint health
https://kubernetes-etcd.kube-system.svc.cluster.local:2379 is healthy:
successfully committed proposal: took = 1.787714ms
nobody@airship-etcdctl-utility-998b4f4d6-65x6d:/$ utilscli etcdctl alarm list
nobody@airship-etcdctl-utility-998b4f4d6-65x6d:/$ utilscli etcdctl version
etcdctl version: 3.4.2
API version: 3.3
nobody@airship-etcdctl-utility-998b4f4d6-65x6d:/$