Rancherコンテナー管理プラットフォーム(V2.2.3)のハンズオン手順



# Rancherのインストール(Single Node構成)
SSL証明書オプション：デフォルトは自己署名証明書(Rancherが自動生成)

```lang:コマンド：rootユーザーに切替
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
-v /data/rancher:/var/lib/rancher/ \
rancher/rancher:stable
```

# Kubernetesクラスター構築と管理

・自己署名証明書を利用しています為、ワーニング画面が表示されますが、下記の画面のようにワーニングエラーを無視して接続してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/dcdae79c-3243-9bfd-ac38-5d6e5be3b4f4.png)

・ユーザーとパスワードを入力してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/cb2665b8-4b73-f3f9-90b3-393dad5cf3a2.png)
※UI言語については、日本語版も対応されていますが、今回のハンズオンの説明資料は、English版で作成されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/ae13bd75-c81d-924d-58db-027d1501e043.png)


### クラスター構築
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/ad308932-264c-a394-d0da-f8e78465ac7d.png)

・「Add Cluster」画面に、必要な情報を入力して、「Create」ボタンを押下
入力情報
ー構築方式： Amazon EC2アイコン
ーCluster Name: NN-ks  ※NNの部分は受講者番号（01~07）に置き換え 

ーName Prefix: NN-  ※NNの部分は受講者番号（01~07）に置き換え 
ーCount: ３ ※クラスタのノード数
ーTemplate: aws-ec2-node ※こちらで事前に用意してあるAWS認証情報が入ってるノードテンプレートです。用意されてない場合は、[ノードテンプレートの設定手順](https://qiita.com/cheng_rancher/private/fe6313d95b79d08025bf)で事前にご設定してください。
ーetcd: ☑️ ※etcdのノード数は奇数にする必要がある
ーControl Plane: ☑️ ※kube-Controlのノード数
ーWorker: ☑️ ※ワーカーのノード数

ーCloud Provider: Amazon
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/a7fe1b88-23df-4860-a350-3f9058a34488.png)
・クラスタのStateが「Active」になってれば、作成完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/42d49663-977b-2a50-0eeb-62dac80b8643.png)
・クラスタのダッシュボードを確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/06583724-ec41-e8c7-3e7a-08e1aaeab3b7.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/dc9a49a9-d5e4-9f53-1f98-43e60de5dcc5.png)
・Rancherの管理対象の階層の確認（クラスタレベル→プロジェクトレベル）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/3c7bdfd1-3e0e-e306-73b7-2c5d397a57f3.png)

### クラスター証明書の更新
・クラスタダッシュボード画面に、「…」から、「Rotate Certificates」メニューをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/0b61c697-300f-405a-aee6-65b89b462293.png)
・「Rotate all service certificates」を選択して、Saveを押下します。※全てのコンポーネントの証明書を更新します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/7b0ab2e9-5996-b4d3-0ebd-e84558c2b63c.png)
・クラスタのアップデート中の赤いワーニングメッセージ消えるまで待ちます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/4d047440-26de-e3e4-da55-8ab6c86ac297.png)

### クラスターのバックアップとリストア
・クラスタダッシュボード画面に、「…」から、「Snapshot Now」メニューをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/4ad51778-acc4-dbf7-4266-00b8389f61a3.png)
・クラスタダッシュボード画面に、「…」から、「Restore Snapshot」メニューをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/629f562b-4c16-cf9f-a5d7-35b1753f29c8.png)
・Snapshotリスト、先ほどバックアップしたSnapShotを確認して、一番日付が古いSnapshotを選択して、Saveを押下し、リストアさせます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/977128f0-ab1c-19d3-126e-5e1680847112.png)
・クラスタのアップデート中の赤いワーニングメッセージ消えるまで待ちます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/c91399af-624c-2505-0e98-4ab728659cf8.png)

### クラスターのバージョンアップ
・クラスタダッシュボード画面に、「…」から、「Edit」メニューをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/9294f03c-fc16-674a-3822-6b22122a5639.png)
・クラスタの編集画面の「Kubernetes Version」のところの利用可能のバージョンを確認します。
 クラスターのバージョンアップには、時間がかかります為、今回のハンズオンには、実行しません。興味ある方は別途で行ってください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/80186238-9a70-b27f-c721-4ee3b401dc61.png)

### クラスターのノードのスケールアウトとスケールイン
■スケールアウト：１つのWorkerノードを追加します。
・クラスタダッシュボード画面に、「…」から、「Edit」メニューをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/9294f03c-fc16-674a-3822-6b22122a5639.png)
・クラスタ編集画面に、「Add Node Pool」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/8593a0d4-da58-c3b7-7eb8-ab72af3e7958.png)
・追加した「Node Pools」行に、必要な情報を入力して、「Save」ボタンを押下
入力情報
ーName Prefix: NN-  ※NNの部分は受講者番号（01~07）に置き換え 
ーCount: 1 
ーTemplate: aws-ec2-node ※こちらで事前に用意してあるAWS認証情報が入ってるノードテンプレートです。
ーWorker: ☑️ ※ワーカーのノード数
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/11fd4bd8-ce98-2fb4-352e-da4d49af7bf1.png)
・ノードの作成中の赤いワーニングメッセージ消えるまで待ちます。
※AWS上にEC2を作成して、インスタンスの初期化処理を行う為、少し、時間かかります。
 ワーカーの追加の為、クラスタは使用可能の状態です。待っている間に色々触ってください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/1ede5fd5-8c09-ab1d-0d62-ce6d8b7a4dbe.png)
・クラスタのノード管理画面に作成したノード情報を確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/6bbf7b3c-3c25-d173-7dc6-f58b113c550d.png)

■スケールイン：追加したのWorkerノードを削除します。
・クラスタダッシュボード画面に、「…」から、「Edit」メニューをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/9294f03c-fc16-674a-3822-6b22122a5639.png)
・クラスタ編集画面に、追加した「Node Pools」行の最後の「ー」ボタンをクリックして、「Save」ボタンを押下
 ※Workerしか☑️してない行です。削除対象を間違わないようにしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/71b30cb5-0b19-da6b-e993-3b572b4d2a10.png)
・クラスタのノード管理画面に削除後のノード情報を確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/c7a28804-1098-5ca3-e255-b72c2cad99e2.png)

### クラスターのプライベートなDockerレジストリ追加（オプショナル：プライベートなDockerレジストリを持つ、且つ興味ある方はやってください）
・クラスタダッシュボード画面に、「…」から、「Edit」メニューをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/9294f03c-fc16-674a-3822-6b22122a5639.png)
・クラスタ編集画面に、下記の画面操作ように、プライベートなDockerレジストリ追加して、「Save」ボタンを押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/b482c715-6ede-7056-9aa5-9dc1084c99fa.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/52c3294f-0137-9f24-66f8-a689c3fd9649.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/72a9780a-47ab-8d93-b944-2ef0903798ac.png)

### クラスタ配下のプロジェクト管理
・クラスタ階層のメニューバーに、「Projects/NameSpaces」メニューをクリックし、Projects管理画面に「Add Project」を押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/5e41c7c1-5976-9936-74a8-690e1072a0bf.png)
・Project追加画面に、下記の情報を入力し、「Create」ボタンを押下
ーProject Name：InfraTeam
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/3f91c656-3341-b8cb-981b-00334e3e0bd6.png)
・メニューバーに、クラスター配下に、InfraTeamプロジェクトが入っていることを確認し、InfraTeamプロジェクトをクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/df4e095d-727a-8c3b-7c8f-d8b90e3ead7b.png)
・「NameSpaces」をクリックし、「Add Namespace」ボタンを押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/788d67b6-c243-921b-db34-73f326030961.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/edfe0f97-e0cb-331b-2813-d26ee7d4c53b.png)
・Namespace追加画面に、下記の情報を入力し、「Create」ボタンを押下
 ーName：InfraTeamSub1
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/21a82550-f0d5-4e05-46ab-b1560145e587.png)

### ※「GKE」と「Custom」などのアイコンからのクラスタ作成方法について、Official siteをご参照ください。

# ユーザー認証
### ユーザー認証方式 - 認証プロバイダ経由の認証
・Globalのメニュー階層で、「Authentication」メニューをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/025a1866-b58b-9a20-2019-ec1be89dc0fc.png)
・Authentications設定画面に、対象の認証プロバイダを選択して、接続情報や設定情報を入力して、保存します。※認証プロバイダは用意していない為、接続までの操作はハンズオン対象外です。興味ある方は、別途に試してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/67dd073a-dcba-596b-f93b-becd5972c5ac.png)

### ユーザー認証方式 - ローカル認証
・Globalのメニュー階層で、「Users」メニューをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/6bf724d0-5e96-d0bb-af8a-3fe2fd3f8d9f.png)

##### 構築したnn-ksクラスタにクラスタ管理者ユーザー（infra-admin）を追加
・「Users」画面に、右上の「Add User」ボタンを押下し、下記の画面のように、ユーザーを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/4e401f4d-9c65-894a-1808-51d78b0bb645.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/a3bac1f2-fc55-3782-6be3-b16e8dd9f01a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/1a31fd13-0da4-7a4a-54ad-f389e2c5015a.png)
・クラスタダッシュボード画面に、「…」から、「Edit」メニューをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/9294f03c-fc16-674a-3822-6b22122a5639.png)
・権限付与。クラスタ編集画面に、「Add Member」ボタンを押下し、追加された入力行に作成したユーザーを「Owner」として入力し、「Save」ボタンを押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/e66974c3-cede-fae3-ceca-d4fcd68a6e06.png)

##### 構築したnn-ksクラスタにプロジェクト管理者ユーザー（project-admin）を追加
・「Users」画面に、右上の「Add User」ボタンを押下し、下記の画面のように、ユーザーを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/4e401f4d-9c65-894a-1808-51d78b0bb645.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/eb42b9a6-ee80-6e10-9797-05eb71bb8f0c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/39010e61-7a1a-60e6-7790-e242ae47f63a.png)
・メニューバーに、クラスター配下に、InfraTeamプロジェクトが入っていることを確認し、InfraTeamプロジェクトをクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/df4e095d-727a-8c3b-7c8f-d8b90e3ead7b.png)
・「Member」メニューをクリックし、「Add Member」ボタンを押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/b522cc9c-f9dd-0dde-2e51-fd2fa0668cc9.png)
・権限付与。プロジェクトメンバー追加画面に、下記の画面ように入力して、「Add Member」ボタンを押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/6b7cf2a2-093a-61c5-d9aa-1407780a8860.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/c5793be5-e737-5f4f-3665-896d5bceb5b0.png)

##### クラスタ管理者ユーザー（infra-admin）の動作確認
・infra-adminユーザーでログインして、「クラスター証明書の更新」ができることを確認します。※手順は、「クラスター証明書の更新」をご参照ください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/0b61c697-300f-405a-aee6-65b89b462293.png)

##### プロジェクト管理者ユーザー（project-admin）の動作確認
・project-adminユーザーでログインして、「NameSpaces作成」ができることを確認します。
・「NameSpaces」をクリックし、「Add Namespace」ボタンを押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/788d67b6-c243-921b-db34-73f326030961.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/edfe0f97-e0cb-331b-2813-d26ee7d4c53b.png)

# アプリデプロイとアプリ管理
・adminユーザーでログインして、下記の手順を行います。
##### nginxアプリをデプロイ
・メニューバーに、クラスター配下のInfraTeamをクリックし、InfraTeamプロジェクトに遷移します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/df4e095d-727a-8c3b-7c8f-d8b90e3ead7b.png)
・右上の「Deploy」ボタンをクリックし、開く「Deploy Workload」画面に、必要な情報入力して、「Launch」ボタンを押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/2727d570-0234-414d-c936-7cddc48d5317.png)
入力情報
ーName：nginx-test
ーDocker Image：nginx:1.9
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/e3ece03c-eadd-386e-d874-8c5f26d33483.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/b1517ca0-f0f0-59d5-1d11-04eeadeebc3c.png)

##### クラスタの外部からnginxアプリにアクセス - NodePort方式
・メニューバーの下の「Service Discovery」タブをクリックして、「Service Discovery」画面を開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/1395b50f-d758-c5b8-3681-5e3e509b0889.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/a4fd435c-1601-8924-6518-d89e86453a59.png)
・「Service Discovery」画面の右上の「Add Record」ボタンを押下し、開く「Add Record」画面の「Show advanced options」をさらにクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/0fc07377-7318-4f3d-2658-d29e77d53f95.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/1869dde7-5c28-fb44-3978-827266524c39.png)
・「Add Record」画面に、下記のような内容を入力して、「Create」ボタンを押下。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/fba5b9f9-f062-18be-67c1-36be89488923.png)
・nginx-nodeportサービスが作成されていることを確認し、サービス名のnginx-nodeport直下のportのリンクをクリックし、Nginx画面が表示されることを確認。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/bf1b425b-1c55-934a-c0fc-e60c3b270e4c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/b22be2f3-8697-986c-c00c-b0b2a6692232.png)

##### クラスタの外部からnginxアプリにアクセス - LoadBalancer方式
・メニューバーの下の「Service Discovery」タブをクリックして、「Service Discovery」画面を開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/1395b50f-d758-c5b8-3681-5e3e509b0889.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/a4fd435c-1601-8924-6518-d89e86453a59.png)
・「Service Discovery」画面の右上の「Add Record」ボタンを押下し、開く「Add Record」画面の「Show advanced options」をさらにクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/0fc07377-7318-4f3d-2658-d29e77d53f95.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/1869dde7-5c28-fb44-3978-827266524c39.png)
・「Add Record」画面に、下記のような内容を入力して、「Create」ボタンを押下。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/38c9b36a-ae2e-50f9-2ebf-3c7ec3405a4f.png)
・nginx-lbサービスが作成されていることを確認し、サービス名のnginx-lb直下のportのリンクをクリックし、Nginx画面が表示されることを確認。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/f3afc983-bc20-3d7f-4113-e5dad9649b67.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/aed9dfed-bc23-cbf5-4ce2-261950e591ca.png)
※LoadBalancerはAWS側で非同期で作成されるため、アクセスできるまで２、3分かかる場合があります。

##### クラスタの外部からnginxアプリにアクセス - Ingress方式
・メニューバーの下の「Load Balancing」タブをクリックし、開く「Load Balancing」画面の右上の「Add Ingress」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/1df55ce5-ee63-93c8-995d-2db8cc4ef577.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/7abdce3b-35a3-b4e9-65a0-54b5b6656d21.png)
・「Add Ingress」画面に、下記のような内容を入力して、「Create」ボタンを押下。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/a041dc52-e5df-604a-a65e-cbbc1f12860d.png)
・nginx-ingressが作成されていることを確認し、URLのリンクをクリックし、Nginx画面が表示されることを確認。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/c9333850-456a-07e4-bce0-dc28232a0982.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/51b56d6d-e211-2e7f-8498-afd4bae3028c.png)

##### nginxアプリのスケールアウト
・メニューバーの下の「Workloads」タブをクリックし、開く「Workloads」画面のリストに、nginx-testのリンクをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/343c82c2-61e7-7f09-9aac-4ad8fe8f05a6.png)
・開く「Workload: nginx-test」画面に、「＋」ボタンを押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/39c969a1-ae26-7587-46b0-1c45e7f83579.png)
・nginx-testアプリのPODが2つになっていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/537b9d49-cd6a-227a-ecdc-c4087861592e.png)

##### nginxアプリのバージョンアップとロールバック
・「Workloads」画面のリストに、nginxアプリの行の「…」から、「Edit」メニューをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/8d0dda27-531f-aae9-530d-a577ea383bd0.png)
「Upgrade Service」画面に、Docker Imageを「nginx:1.10」に変更して、「Upgrade」ボタンを押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/a07a03c4-b8cb-c70c-ddbd-a82e6ca9f2b7.png)
・「Workloads」画面のリストに、nginxアプリが「nginx:1.10」に変更されていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/eda9ef87-9266-981d-36fc-72f78d898c50.png)

・「Workloads」画面のリストに、nginxアプリの行の「…」から、「Rollback」メニューをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/52b72296-000c-069d-51b5-37619e977934.png)
・一番古いバージョン（初期のバージョン）を選択して、「Rollback」バタンを押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/35e683c9-97f2-0ca4-a492-7e3ebe978b06.png)
・「Workloads」画面のリストに、nginxアプリが「nginx:1.９」に戻っていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/a1e9a44d-a433-526e-896c-c01ba0df8226.png)

##### アプリのデバッグ ー コンテナー接続
・メニューバーの下の「Workloads」タブをクリックし、開く「Workloads」画面のリストに、nginx-testのリンクをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/343c82c2-61e7-7f09-9aac-4ad8fe8f05a6.png)
・開く「Workload: nginx-test」画面に、任意のPODの行の「…」から、「Execute Shell」リンクをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/a90c141b-5741-ab6f-9f7f-1c02a1ffa7da.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/560103a1-81b4-34fe-09fa-90f038278e40.png)

##### アプリのデバッグ ー コンテナーログ参照
・開く「Workload: nginx-test」画面に、任意のPODの行の「…」から、「View Logs」リンクをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/ee4dce50-73e7-84e3-82f4-6b72def460a9.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/0590a66f-2dc7-d234-f43d-d8a2737b5134.png)

# 永続化ストレージの使用
##### Storage Classの作成
・クラスタメニューの階層に、「Storage」→「Storage Classes」メニューをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/92af6190-d4fc-9ca2-72d9-ef59d8179baa.png)
・開く「Storage」画面の右上の「Add Class」ボタンをクリックします。開く「Add Storage Class」画面に、NameとProvisionerを入力して、「Save」ボタンをクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/b0ff0ca2-5e5b-6eb7-30a5-09fee1e24dbd.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/3a7c64bf-4fb8-d08b-4c66-97aa38fa249f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/f4c28ab9-13b1-8e1a-a7d9-e4717eee61ce.png)

##### Storage Classの使用（Storage Classに指定しているProvisionerで動的にPersistent Volumeを作成させる）
・プロジェクト（infraTeam）メニューの階層に、Workloads画面に、右上の「Deploy」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/c9e3f758-ec63-6895-f3be-6abdc6cee6d1.png)
・開く「Deploy Workload」画面、下記のように、設定情報を入力して、「Add Volume」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/f60fd135-0377-4bc7-7732-0e8c9168d593.png)
・「Add a Volume Claim Template」メニューをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/2cbff5ae-2106-7373-2721-af037b550f47.png)
・「Add Volume Claim Template」画面、下記のように、設定情報を入力して、「Define」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/b704dac8-ba36-bcf4-a0a0-db99e7af813d.png)
・「Deploy Workload」画面、「Mount Point」を入力して、「Launch」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/908d61e2-e95f-99f1-3d53-a7f3e8398994.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/09060c5d-8bff-2619-876f-20a2d8dae83c.png)
※aws側で、Provisionerで動的にVolumeを生成して、PODがいるインスタンスにマウントしますため、少しかかります。

##### Storage Classによる動的に生成したPVの確認
・クラスタメニューの階層に、「Storage」→「Persistent Volumes」メニューをクリックします。動的に生成したPVを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/56dd59af-5c56-461f-c8c1-59e4a768eb33.png)
・PVのリンクをクリックして、PVの詳細を確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/8ff4edab-6e2d-841c-ba63-c204eab5bc41.png)

# 運用監視機能
##### モニタリング機能の有効化
・クラスタメニューの階層に、「Tools」→「Monitoring」メニューをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/f5bd88dd-50b5-d9d3-a3dd-c988494d25b6.png)
・下記の操作ように、デフォルトで搭載されているモニタリング機能を有効にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/4b3c2003-7abc-e740-2f37-74fa2f16925b.png)
・下記の赤いワーニングが消えるまで、待ちます。※モーニングの関連リーソスがクラスタにデプロイされています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/a09d525d-a449-83ae-34cf-e12af5e8c245.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/6c9bd145-3613-2c2e-75ac-1b6947c0a8be.png)

##### モニタリング機能の確認
・クラスタのダッシュボード上に、メトリックのサマリー情報を確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/2ac5eff2-72a5-ad44-bf6f-f7a0e467dd4f.png)
・Grafana上に、メトリック情報を確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/0ed52bce-d007-5a26-4fd3-89ae063627c3.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/11fe8f16-52ad-c116-04e4-df2ebfaa8b98.png)
・Grafana上に、先ほどの手順にデプロイしたアプリのメトリックも確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/17c2e90f-7a75-b579-2ba4-71f425c297b4.png)

##### アラートの連携・通知先の設定
・クラスタメニューの階層に、「Tools」→「Notifiers」メニューをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/1d9f497f-2751-0ba9-b5b7-ed3752cf32e8.png)
・「Add Notifier」ボタンをクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/2ed59eae-b3f8-1e6b-96ae-a0808c7266b0.png)
・「Notifier」画面、下記のように、設定情報を入力し、「TEST」ボタンでテストしてから、「Add」ボタンをクリックします。
入力情報（SlackのWebhookとチャンネルはこちら用意してある下記のものを設定）
ーName：slack-test
ーURL：Slack側のhookのURL
ーDefault Channel：#rancher-alert
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/12b79a6d-0460-c5b0-b800-cea7ca508c05.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/90d0c0be-dd81-5a00-c1b1-ef255e7babdf.png)

##### アラート機能の確認
・クラスタメニューの階層に、「Tools」→「Alerts」メニューをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/083b292c-1b08-c8e2-3367-59b375e98afb.png)
・デフォルトで、etcd、kube-componetns、eventとnodeなどの基本のアラートグループとアラートルールが設定されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/2e92c92c-a826-723d-978e-543cc8be8816.png)
##### アラートグループとアラートルールをカスタマイズで作成
・「Cluster Alert Groups」画面の右上の「Add Alert Group」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/59d64363-9201-4992-5ba6-b373a994f53f.png)
・「Add Alert Group」画面、下記のように設定情報を入力し、「Create」ボタンをクリックします。
ーExpression：sum(node_load1) by (instance) / count(node_cpu_seconds_total{mode="system"}) by (instance) * 100
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/d3e35792-e936-6779-3104-664d3e6dea9b.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/34db13fd-d884-2212-f03a-b82e62b13fdc.png)
・Slackのチャンネルにメッセージが通知されるメッセージを確認します。約１分間後に通知されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/a195d3cb-0808-db2d-e010-fc2d34219fbe.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256080/7b3c57ce-aa24-696b-168a-32e876ac0f44.png)