Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: ansible対応部分を削除,terraformの初回設定追加,初期パスワード変更追加 #1339

Merged
merged 1 commit into from
Sep 30, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 17 additions & 31 deletions seichi-onp-k8s/cluster-boot-up/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,14 +192,13 @@ CNI には Cilium を利用しています。
ssh seichi-onp-k8s-wk-3 "hostname"
```

1. クラスタの基点となる cp-1 の初期化が終わっていることをチェックします
1. クラスタの基点となる cp-1 の初期化およびansible-playbookが終わっていることをチェックします

```bash
# 最初のコントロールプレーンのkubeadm initが終わっているかチェック
ssh seichi-onp-k8s-cp-1 "kubectl get node -o wide && kubectl get pod -A -o wide"
```

1. 各VMの実行ログをチェックします
1. 何らかのエラーが発生している場合は、必要に応じて各VMの実行ログをチェックします

```bash
ssh seichi-onp-k8s-cp-1 "sudo cat /var/log/cloud-init-output.log"
Expand All @@ -226,39 +225,17 @@ CNI には Cilium を利用しています。
```bash
/bin/bash <(curl -s "https://raw.githubusercontent.com/GiganticMinecraft/seichi_infra/${TARGET_BRANCH}/seichi-onp-k8s/cluster-boot-up/scripts/local-terminal/deploy-k8s-api-cloudflared-resources-to-cp-1.sh") "${TARGET_BRANCH}"
```
1. GitHub Actions で実行される terraform コマンドの実行に必要な `kubeconfig` を `seichi_infra` リポジトリの Actions secrets として設定します。

1. 作成した全ノードをクラスタ内に引き込みます
https://github.com/GiganticMinecraft/seichi_infra/settings/secrets/actions にアクセスし `Repository secrets > TF_VAR_ONP_K8S_KUBECONFIG` に下記コマンドの標準出力を注入してください

以下のコマンドをローカル端末で実行してください。

```sh
# join_kubeadm_cp.yaml を seichi-onp-k8s-cp-2 と seichi-onp-k8s-cp-3 にコピー
scp -3 seichi-onp-k8s-cp-1:~/join_kubeadm_cp.yaml seichi-onp-k8s-cp-2:~/
scp -3 seichi-onp-k8s-cp-1:~/join_kubeadm_cp.yaml seichi-onp-k8s-cp-3:~/

# seichi-onp-k8s-cp-2 と seichi-onp-k8s-cp-3 で kubeadm join
ssh seichi-onp-k8s-cp-2 "sudo kubeadm join --config ~/join_kubeadm_cp.yaml"
ssh seichi-onp-k8s-cp-3 "sudo kubeadm join --config ~/join_kubeadm_cp.yaml"

# join_kubeadm_wk.yaml を seichi-onp-k8s-wk-1 と seichi-onp-k8s-wk-2 と seichi-onp-k8s-wk-3 にコピー
scp -3 seichi-onp-k8s-cp-1:~/join_kubeadm_wk.yaml seichi-onp-k8s-wk-1:~/
scp -3 seichi-onp-k8s-cp-1:~/join_kubeadm_wk.yaml seichi-onp-k8s-wk-2:~/
scp -3 seichi-onp-k8s-cp-1:~/join_kubeadm_wk.yaml seichi-onp-k8s-wk-3:~/

# seichi-onp-k8s-wk-1 と seichi-onp-k8s-wk-2 と seichi-onp-k8s-wk-3 で kubeadm join
ssh seichi-onp-k8s-wk-1 "sudo kubeadm join --config ~/join_kubeadm_wk.yaml"
ssh seichi-onp-k8s-wk-2 "sudo kubeadm join --config ~/join_kubeadm_wk.yaml"
ssh seichi-onp-k8s-wk-3 "sudo kubeadm join --config ~/join_kubeadm_wk.yaml"
```bash
ssh seichi-onp-k8s-cp-1 "cat ~/.kube/config"
```

1. コントロールプレーンの全ノードにkubeconfigを配布します。

以下のコマンドをローカル端末で実行してください。
1. GitHub Actions にて初回の `terraform apply` を実行します。

```bash
ssh seichi-onp-k8s-cp-2 "mkdir -p \$HOME/.kube && sudo cp -i /etc/kubernetes/admin.conf \$HOME/.kube/config &&sudo chown \$(id -u):\$(id -g) \$HOME/.kube/config"
ssh seichi-onp-k8s-cp-3 "mkdir -p \$HOME/.kube && sudo cp -i /etc/kubernetes/admin.conf \$HOME/.kube/config &&sudo chown \$(id -u):\$(id -g) \$HOME/.kube/config"
```
https://github.com/GiganticMinecraft/seichi_infra/actions/workflows/terraform_apply.yaml にアクセスし `Run workflow` をクリックするとポップアップが出てくるので `Use workflow from` は `main` ブランチを選択して `Run workflow` をクリックします。

1. 軽い動作チェック

Expand All @@ -269,6 +246,15 @@ CNI には Cilium を利用しています。
ssh seichi-onp-k8s-cp-2 "kubectl get node -o wide && kubectl get pod -A -o wide"
ssh seichi-onp-k8s-cp-3 "kubectl get node -o wide && kubectl get pod -A -o wide"
```
1. 各ノードの `cloudinit` ユーザーのパスワードを変更します。初期パスワードとして `zaq12wsx` が設定されています。

セキュリティの観点から、推測されにくく十分に堅牢なパスワードを設定してください。

```bash
for host in seichi-onp-k8s-cp-1 seichi-onp-k8s-cp-2 seichi-onp-k8s-cp-3 seichi-onp-k8s-wk-1 seichi-onp-k8s-wk-2 seichi-onp-k8s-wk-3 ; do
ssh $host sudo passwd cloudinit
done
```

## クラスタ操作

Expand Down