Deploy etcd on KubeSphere
Written in Go, etcd is a distributed key-value store to store data that needs to be accessed by a distributed system or cluster of machines. In Kubernetes, it is the backend for service discovery and stores cluster states and configurations.
This tutorial walks you through an example of deploying etcd from the App Store of KubeSphere.
- Please make sure you enable the OpenPitrix system.
- You need to create a workspace, a project, and a user account (
project-regular) for this tutorial. The account needs to be a platform regular user and to be invited as the project operator with the
operatorrole. In this tutorial, you log in as
project-regularand work in the project
demo-projectin the workspace
demo-workspace. For more information, see Create Workspaces, Projects, Accounts and Roles.
Step 1: Deploy etcd from the App Store
On the Overview page of the project
demo-project, click App Store in the top-left corner.
Find etcd and click Deploy on the App Information page.
Set a name and select an app version. Make sure etcd is deployed in
demo-projectand click Next.
On the App Configurations page, specify the size of the persistent volume for etcd and click Deploy.
NoteTo specify more values for etcd, use the toggle switch to see the app’s manifest in YAML format and edit its configurations.
In App Templates of the Apps page, wait until etcd is up and running.
Step 2: Access the etcd Service
After the app is deployed, you can use etcdctl, a command-line tool for interacting with etcd server, to access etcd on the KubeSphere console directly.
Navigate to StatefulSets in Workloads, and click the service name of etcd.
Under Pods, expand the menu to see container details, and then click the Terminal icon.
In the terminal, you can read and write data directly. For example, execute the following two commands respectively.
etcdctl set /name kubesphere
etcdctl get /name
For clients within the KubeSphere cluster, the etcd service can be accessed through
<app name>.<project name>.svc.<K8s domain>:2379(for example,
etcd-bqe0g4.demo-project.svc.cluster.local:2379in this guide).
For more information, see the official documentation of etcd.