Books, courses and notes

Adding and removing nodes to an existing CoreOS etcd2 cluster using etcdctl

Now that our 3-node etcd2 cluster is up and running in Amazon EC2 using CoreOS it’s time to learn how to add or remove nodes in the cluster dynamically. etcdctl tool Etcdctl is a client tool written in Go that comes in handy while manipulating an etcd cluster. It's commonly used to perform usual operations such as setting, updating or removing keys, although it's also possible through the etcd rest api. For a complete reference to these basic commands see the official docs. Dynamically adding a node to the cluster Adding and removing nodes to an existing etcd2 cluster is an operation that's done in runtime and therefore it doesn't require any downtime. To dynamically add a node, first we nee

Setting up an etcd cluster in AWS using CoreOS

Now that you have learned where etcd used and had some fun playing with an online etcd cluster simulator, let's move on and create our own etcd cluster in Amazon EC2 using CoreOS (a lightweight operational system designed for massive deployments using container based solutions). Go to this CoreOS web page and inside stable channel, find us-east-1 region (North Virginia) and select the ami related with HVM (this kind of Amazon Linux Images is suited for many different EC2 machine families) Select the instance type. As we are only having some fun, a t2.micro should be enough (remember that this procedure will be charged as long as your instances are started. After all, remember to terminate al

Etcd Overview

Etcd is a distributed, consistent key-value store used for shared configuration and service discovery. It's written in Go and maintained by CoreOS team and it comes with CoreOS Linux distribution, although it's easily installed in any other Linux distribution or even in Windows environment. The project code and its full documentation can be found in GitHub. It's being used by mature projects like Kubernetes and Cloud Foundry and it's surrounded by an active community. Etcd handles the communication between etcd machines via the Raft consensus algorithm. It's very important that you understand the concepts behind Raft, specially when debugging issues or tuning configurations. You may think of

  • Black Facebook Icon
  • Black Twitter Icon
  • github-black-icon

Jorge Acetozi is a software engineer who spends almost his whole day having fun with things such as AWS, CoreOS, Kubernetes, Docker, Terraform, Ansible, Cassandra, Redis, Elasticsearch, Graylog, New Relic, Sensu, Elastic Stack, Fluentd, RabbitMQ, Kafka, Java, Spring, and much more! He loves deploying applications in production while thousands of users are online, monitoring the infrastructure, and acting quickly when monitoring tools decide to challenge his heart’s health!

  • White Facebook Icon
  • White Twitter Icon
  • github-white-icon_edited