77 lines
2.0 KiB
Markdown
77 lines
2.0 KiB
Markdown
# etcdクラスタのブートストラップ
|
||
|
||
Kubernetesコンポーネントはステートレスであり、クラスタの状態を[etcd](https://github.com/etcd-io/etcd)に保存します。このラボでは、3ノードのetcdクラスタをブートストラップし、高可用性と安全なリモートアクセスのために設定します。
|
||
|
||
## 前提条件
|
||
|
||
`etcd`バイナリとsystemdユニットファイルを`server`インスタンスにコピーします:
|
||
|
||
```bash
|
||
scp \
|
||
downloads/etcd-v3.4.27-linux-arm64.tar.gz \
|
||
units/etcd.service \
|
||
root@server:~/
|
||
```
|
||
|
||
このラボのコマンドはすべて`server`マシン上で実行する必要があります。`ssh`コマンドを使用して`server`マシンにログインします。例:
|
||
|
||
```bash
|
||
ssh root@server
|
||
```
|
||
|
||
## etcdクラスタのブートストラップ
|
||
|
||
### etcdバイナリのインストール
|
||
|
||
`etcd`サーバーと`etcdctl`コマンドラインユーティリティを抽出してインストールします:
|
||
|
||
```bash
|
||
{
|
||
tar -xvf etcd-v3.4.27-linux-arm64.tar.gz
|
||
mv etcd-v3.4.27-linux-arm64/etcd* /usr/local/bin/
|
||
}
|
||
```
|
||
|
||
### etcdサーバーの設定
|
||
|
||
```bash
|
||
{
|
||
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/
|
||
}
|
||
```
|
||
|
||
etcdクラスタの各メンバーには固有の名前が必要です。現在のコンピュートインスタンスのホスト名に一致する名前を設定します:
|
||
|
||
`etcd.service` systemdユニットファイルを作成します:
|
||
|
||
```bash
|
||
mv etcd.service /etc/systemd/system/
|
||
```
|
||
|
||
### etcdサーバーの起動
|
||
|
||
```bash
|
||
{
|
||
systemctl daemon-reload
|
||
systemctl enable etcd
|
||
systemctl start etcd
|
||
}
|
||
```
|
||
|
||
## 検証
|
||
|
||
etcdクラスタメンバーを一覧表示します:
|
||
|
||
```bash
|
||
etcdctl member list
|
||
```
|
||
|
||
```text
|
||
6702b0a34e2cfd39, started, controller, http://127.0.0.1:2380, http://127.0.0.1:2379, false
|
||
```
|
||
|
||
次: [Kubernetesコントロールプレーンのブートストラップ](08-bootstrapping-kubernetes-controllers.md)
|