記事のディレクトリ
1.メトリクス-サーバーの展開
Metrics-Serverは、クラスターのコアモニタリングデータのアグリゲーターであり、以前のヒープスターを置き換えるために使用されます。
コンテナ関連の指標は、主にkubeletに組み込まれているcAdvisorサービスから取得されます。Metrics-Serverを使用すると、ユーザーは標準のKubernetesAPIを介してこれらのモニタリングデータにアクセスできます。
Metrics APIは、現在のメトリックデータのみをクエリでき、履歴データは保存しません。
Metrics API URIは/apis/metrics.k8s.io/であり、k8s.io / metricsで維持されます。
このAPIを使用するには、metrics-serverをデプロイする必要があります。metrics-serverは、Kubelet SummaryAPIを呼び出してデータを取得します。
1.関連リソースを入手する
wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml %下载部署文件
docker pull bitnami/metrics-server:0.4.2 %拉取相关镜像
docker push reg.westos.org/library/metrics-server:0.4.2 %上传镜像到私有仓库中(在这之前要对镜像做tag)
修改yaml文件中的镜像路径为metrics-server:0.4.2 %默认在私有仓库的library项目下查找
2.エラーの問題を解決します
デプロイメントファイルを適用した後、ポッドのステータスを確認すると、準備ができていないことがわかります。この場合、有効になりません。
ログで問題の原因を確認してください。
kubectl logs -n kube-system metrics-server-xxxxxxx
上記のエラーメッセージは、証明書のチェックに失敗したことが原因で発生します。この問題を解決するには、公式ドキュメントを確認してください。
启用TLS Bootstrap 证书签发
vim /var/lib/kubelet/config.yaml %所有节点的这个文件都要修改并重启kubelet服务
...
serverTLSBootstrap: true %跳过证书检查
systemctl restart kubelet %重启kubelet服务
kubectl certificate approve 证书名称 %签发证书
3.展開が成功したかどうかを確認します
4.テスト結果
ノードとポッドのCPUとメモリの負荷を確認できます
2.ダッシュボードの展開
ダッシュボードは、現在のクラスターのさまざまな情報を表示するための視覚的なWebインターフェイスをユーザーに提供できます。ユーザーはKubernetesダッシュボードを使用して、コンテナ化されたアプリケーションのデプロイ、アプリケーションのステータスの監視、トラブルシューティングタスクの実行、さまざまなKubernetesリソースの管理を行うことができます。
1.デプロイメントファイルをダウンロードし、関連するイメージをプルします
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc5/aio/deploy/recommended.yaml
镜像:
kubernetesui/dashboard:v2.2.0
kubernetesui/metrics-scraper:v1.0.6
上传镜像到私有仓库,此时路径需要对应,可以在私有仓库中创建kubernetesui项目,然后把这两个镜像放到该项目下,或者更改yaml文件中的镜像路径
2.デプロイメントファイルを適用し、外部アクセス用にNodePortモードに変更します
kubectl apply -f recommended.yaml %应用部署文件
kubectl -n kubernetes-dashboard describe svc kubernetes-dashboard %查看其创建的svc的详细信息
kubectl -n kubernetes-dashboard edit svc kubernetes-dashboard %更改为NodePort方式
kubectl -n kubernetes-dashboard get svc %查看是否已经更改
3.トークンを生成し、トークンを使用してログインします
kubectl -n kubernetes-dashboard get secrets %查看secrets名字
NAME TYPE DATA AGE
default-token-h95lm kubernetes.io/service-account-token 3 10m
kubernetes-dashboard-certs Opaque 0 10m
kubernetes-dashboard-csrf Opaque 1 10m
kubernetes-dashboard-key-holder Opaque 2 10m
kubernetes-dashboard-token-kcw7s kubernetes.io/service-account-token 3 10m
kubectl describe secrets kubernetes-dashboard-token-kcw7s -n kubernetes-dashboard %查看具体token
kubectl -n kubernetes-dashboard describe secrets kubernetes-dashboard-token-xxxx %查看token的另外一种方法
kubectl get svc -n kubernetes-dashboard %查看端口映射
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
dashboard-metrics-scraper ClusterIP 10.111.253.105 <none> 8000/TCP 4m31s
kubernetes-dashboard NodePort 10.110.193.162 <none> 443:32427/TCP 4m31s
アクセスするときは、httpsモードでIPと公開ポート番号にアクセスする必要があります。
4.デフォルトのダッシュボードにはクラスターに対する操作権限がなく、関連する承認が必要です
vim rbac.yaml: %编辑rbac.yaml文件做RBAC授权
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kubernetes-dashboard-admin
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: kubernetes-dashboard
namespace: kubernetes-dashboard
kubectl apply -f rbac.yaml %应用部署文件
承認前のページの表示:承認
後にクラスター内のリソースを表示および管理するための警告が多数あります:
作成されたポッドのyamlファイルを表示および編集して、ポッドを作成または更新する目的を達成できます。