K8Sダッシュボードや更新された証明書をインストールします

1、K8Sは参照構築https://blog.51cto.com/lizhenliang/2325770

[ルート@ VM_0_48_centos〜]#kubectl   取得CS 
NAMEのステータスメッセージエラー
スケジューラ健康OK                    
コントローラを - マネージャ健康OK                    
etcd - 1                健康{ " 健康"" " }    
etcd - 0                健康{ " 健康"" " }    
etcd - 2                健康{ 健康" " }   

注意:ブログにはいくつかの変更があります。

/オプション/ kubernetes / CFG /鼠径部-apiserver:

需要由: - イネーブル入場-プラグイン= NamespaceLifecycle、LimitRanger、SecurityContextDeny、ServiceAccount、ResourceQuota

改为:--enable-入院・プラグイン= NamespaceLifecycle、LimitRanger、ServiceAccount、ResourceQuota、NodeRestriction去掉:SecurityContextDeny

 

2、ダッシュボードのダウンロードアドレス:は/ opt /ダッシュボード/注:手動で作成、管理、token.yaml

gitのクローンhttps://github.com/kubernetes/kubernetes.git 

[VM_0_48_centosダッシュボード@ルート]#LL * .yaml 
-rw-rを- r--の1ルートルート515 8月8日10時11管理者-token.yaml 
-rw-rを- r--の1つのルートルート264 8月5日16 27ダッシュボードconfigmap.yaml 
-rw-R - r--の1ルートルート1835年8月8日午前9時14ダッシュボードcontroller.yaml 
-rw-R - r--の1ルートルート1353年8月5日16時27分dashboard- rbac.yaml 
-rw-R - r--の1ルートルート551 8月5日16時27ダッシュボードsecret.yaml 
-rw-R - r--の1ルートルート339 8月7日午後03時24ダッシュボードservice.yaml

  

3、ダッシュボードservice.yaml内容を変更   

[ルート@ VM_0_48_centosダッシュボード]#猫はdashboard- service.yaml 
apiVersion:v1の
種類:サービス
メタデータ:
  名前:kubernetes - ダッシュボードの
   名前空間:kube- システム
  ラベル:
    K8S -app:kubernetes- ダッシュボード
    kubernetes.io /クラスタ・サービス:
    addonmanager.kubernetes.io / モード:リコンサイル
スペック:
  タイプ:NodePort#添加Nodeport以便访问
  セレクタ:
    K8S -app:kubernetes- ダッシュボード
  ポート:
   -ポート:443 
    targetPort:8443

 

4、サービスを開始

-fダッシュボードconfigmap.yamlを適用kubectl 

 -fダッシュボードsecret.yamlを適用kubectl 

-fダッシュボードrbac.yamlを適用kubectl 

-fダッシュボードservice.yamlを適用kubectl 

-fダッシュボードcontroller.yamlを適用kubectl

 

5、パラメータを変更/usr/lib/systemd/system/kubelet.service:クラスタのDNSクラスタドメインを 

 kubectl記述ポッドkubernetes-ダッシュボード-746dfd476-mdv5n -n KUBE-システム

Bエラー:kubeletがClusterDNS IPが設定されていないとPodJソリューションを作成することはできません

[ルートVM_0_48_centosダッシュボード@]#猫の/usr/lib/systemd/system/kubelet.service
[単位]
説明= Kubernetes Kubelet
= docker.serviceは後に
必要= docker.service

[サービス]
EnvironmentGoogle nmentFile RO =は/ usr / kubernetes / CFG /オムレツ
ExecStart =は/ usr / kubernetes / binに/オムレツ$ KUBELET_OPTS
再起動=オン故障
KillMode =プロセス

[インストール]
WantedBy = multi-user.target
[ルートVM_0_48_centosダッシュボード@]#猫の/ opt / kubernetes / CFG / kubelet
KUBELET_OPTS = " - logtostderr =真\
--v = 4 \
--hostname-オーバーライド= 172.19.0.48 \
--cluster-DNS = 10.0.0.2 \ ###配置DNS
--clusterドメイン= cluster.local \ ###配置域名
--kubeconfig =は/ opt / kubernetes / CFG / kubelet.kubeconfig \
--bootstrap- kubeconfig = / OPT / kubernetes / CFG / bootstrap.kubeconfig \
--cert-DIR = / OPT / kubernetes / SSL \
--pod-赤外線コンテナ画像= registry.cn-hangzhou.aliyuncs.com / Googleがコンテナ/一時停止- AMD64:3.0"

修改完以后,重启服务发现正常

6、权限问题 发现官网yaml授权中只有默认的defalut ,需要重新绑定角色。
[ルートVM_0_48_centosダッシュボード@]#猫のADMIN-token.yaml 
種類:ClusterRoleBinding 
apiVersion:rbac.authorization.k8s.io/v1beta1 
メタデータ:
  名前:ADMIN 
  注釈:
    rbac.authorization.kubernetes.io/autoupdate: "真の" 
roleRef:
  種類:ClusterRole 
  名:ADMIN#クラスタ期の役割は、システムを構築するための時間が自動的に管理者の役割を生成しない
  rbac.authorization.k8s.io:apiGroup 
:科目
の種類:ServiceAccountの- 
  名:ADMINの
  名前空間:KUBE-システム
--- 
apiVersion:V1の
種類: ServiceAccount 
メタデータ:
  名前:ADMINの
  名前空間:KUBE-システム
  ラベル:
    kubernetes.io/cluster-service: "真の"

  YAMLの公式サイトに:

[ルートVM_0_48_centosダッシュボード@]#猫のダッシュボード-rbac.yaml 
種類:ロール
apiVersion:rbac.authorization.k8s.io/v1 
メタデータ:
  ラベル:
    K8S-アプリ:kubernetes-ダッシュボード
    addonmanager.kubernetes.io/mode:リコンサイル
  名前:kubernetes -dashboard-最小限の
  名前空間:KUBE-システム#只能看到systemo空间
ルール:
  #はダッシュボードには、取得、更新、およびダッシュボードの排他的な秘密を削除することを許可します。
- apiGroups:[ ""] 
  リソース:[ "秘密"] 
  resourceNameの:[ "kubernetes-ダッシュボード・キー・ホルダー"、 "kubernetes-ダッシュボード-本命"] 
  動詞:[ "GET"、 "更新"、 ""削除] 
  # 'ダッシュボードを取得し、更新することを許可します
- apiGroups:[ ""]
  リソース:[ "configmaps"] 
  resourceNameの:[ "kubernetes-ダッシュボードの設定"] 
  動詞:[ "GET"、 "更新"] は、ダッシュボードがheapsterからのメトリックを取得することができます。
- apiGroups:[ ""] 
  リソース:[ "サービス"] 
  resourceNameの:[ "heapster"] 
  動詞:[ "代理"] 
- apiGroups:[ ""] 
  リソース:[ "サービス/プロキシ"] 
  resourceNameの:[ "heapster" 、 "HTTP:heapster:"、 "HTTPS:heapster:"] 
  動詞:[] "GET" 
--- 
apiVersion:rbac.authorization.k8s.io/v1 
種類:RoleBinding 
メタデータ:
  名前:kubernetes-ダッシュボード-最小限
  名前空間:
    addonmanager.kubernetes.io/mode:リコンサイル
  apiGroup:rbac.authorization.k8s.io 
  種類:ロール
  名:kubernetes-ダッシュボード-最小限
科目:
-種類:ServiceAccount 
  名:kubernetes-ダッシュボードの
  名前空間:KUBE-システム

  

ログイントークンのための今後の更新:

#1 kubectl [VM_0_48_centosダッシュボード@ルート]が記述秘密/ $(kubectl 取得秘密-nkube-システム| grepの管理| awkは' {$ 1印刷} ')-nkube- システム   
名:admin -token- j8sjg 
名前空間:KUBE - システム
ラベル:        <なし> 
注釈:kubernetes.io / service- account.name:管理者
              kubernetes.io /service-account.uid:d9e482cf-b981-11e9- 9170 - 525400c318af 

タイプ:kubernetes.io /サービス説明責任トークン

データ
 === = 
ca.crt:      1359のバイト
名前空間11 バイトの
トークン:**************************** ********************* ##デザインの秘密

 


7、更新https证书有效期,解决只能由火狐浏览器访问,其他浏览器无法访问问题。

产生证书:
MKDIRキー&& CDキー
のopenssl genrsa - アウト dashboard.key 2048  

のopenssl reqを - 新しい - アウト dashboard.csr -key dashboard.key -subj ' /CN=172.19.0.48 ' 

のopensslのx509 -req -  dashboard.csr -signkeyダッシュボード。キー- アウトdashboard.crtは

秘密kubernetesを削除kubectl -dashboard-certsの-n kube- システムは

秘密ジェネリックkubernetesを作成kubectl - -dashboard-本命から -file = dashboard.key - から -file = dashboard.crt -n kube- システム#新的证书

POD Kubernetes削除kubectl -dashboard-746dfd476-b2r5f -n KUBE-システム#は、サービスを再起動します

 

8、效果展示:



 

おすすめ

転載: www.cnblogs.com/xiajq/p/11322568.html
おすすめ