0リソース要件
0.1ソフトウェアバージョン
kubernetesのバージョンにはV1.15.5が必要です
10.23.241.142 myuse2
10.23.241.97 myuse1
kubeflowとkubernetesのバージョン互換性。
0.2ミラーファイル
(1)
Alibaba Cloud、Alibaba Cloud、コンテナミラーリングサービスから画像ファイルを取得し、画像を検索して、検索ボックスに画像名を入力します。
(2)画像ラベルを変更する
#pull ml-pipeline images
docker pull gcr.io/ml-pipeline/viewer-crd-controller:0.2.5
docker pull gcr.io/ml-pipeline/api-server:0.2.5
docker pull gcr.io/ml-pipeline/frontend:0.2.5
docker pull gcr.io/ml-pipeline/visualization-server:0.2.5
docker pull gcr.io/ml-pipeline/scheduledworkflow:0.2.5
docker pull gcr.io/ml-pipeline/persistenceagent:0.2.5
docker pull gcr.io/ml-pipeline/envoy:metadata-grpc
コンテナミラーリングサービスであるAlibabaCloudは、ミラーを検索し、検索ボックスにミラー名を入力します。
#!/bin/bash
images1=(viewer-crd-controller:0.2.5 \
api-server:0.2.5 \
frontend:0.2.5 \
visualization-server:0.2.5 \
scheduledworkflow:0.2.5 \
persistenceagent:0.2.5 \
envoy:metadata-grpc
)
for imageName in ${images1[@]} ; do
docker pull registry.cn-hangzhou.aliyuncs.com/pigeonw/$imageName;
docker tag registry.cn-hangzhou.aliyuncs.com/pigeonw/$imageName gcr.io/ml-pipeline/$imageName;
docker rmi registry.cn-hangzhou.aliyuncs.com/pigeonw/$imageName;
done
1kubernetesをインストールします
1.1kubeletとkubeadmおよびkubectlとdockerをインストールします
要件1:kubeadm、クラスターの初期化、クラスターの管理など、バージョン1.15.5
要件2:kubelet、api-server命令の受信、ポッドライフサイクルの管理に使用、バージョン1.15.5
要件3:kubectl、クラスターコマンドライン管理ツール、バージョンは1.15.5
要件4:docker -ce、バージョンは18.06.3です。
基本環境の構成は繰り返されません。
#kubeadm reset以前にkubernetesをインストールしたことがある場合は、このコマンドを実行する必要があります
#yum remove -y kubectl kubeadmkubelet古いバージョンをアンインストールします
#yuminstall -y kubeadm-1.15.5-0 kubelet-1.15.5-0 kubectl-1.15 .5-0
#kubelet --version【1.15.5】
#kubeadm version【1.15.5】
#kubectl version【1.15.5】
#docker version【18.06.3】
#vi / etc / sysconfig / kubelet
添加以下内容
KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"
#systemctl enable kubeletは、起動後に自動的に起動するように設定されています
1.2kubernetesミラーを準備する
#kubeadm config imageslistクラスターが使用する必要のあるコンテナーイメージを表示します
。kubeadmのバージョンが異なれば結果も異なります。
k8s.gcr.io/kube-apiserver:v1.15.5
k8s.gcr.io/kube-controller-manager:v1.15.5
k8s.gcr.io/kube-scheduler:v1.15.5
k8s.gcr.io/kube-proxy:v1.15.5
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.3.10
k8s.gcr.io/coredns:1.3.1
画像ファイルをロードする
docker load -i k8s.gcr.io_coredns_1.3.1.tar
docker load -i k8s.gcr.io_etcd_3.3.10.tar
docker load -i k8s.gcr.io_kube-apiserver_v1.15.5.tar
docker load -i k8s.gcr.io_kube-controller-manager_v1.15.5.tar
docker load -i k8s.gcr.io_kube-proxy_v1.15.5.tar
docker load -i k8s.gcr.io_kube-scheduler_v1.15.5.tar
docker load -i k8s.gcr.io_pause_3.1.tar
画像ファイルを保存します
docker save -o k8s.gcr.io_kube-apiserver_v1.15.5.tar k8s.gcr.io/kube-apiserver:v1.15.5
docker save -o k8s.gcr.io_kube-controller-manager_v1.15.5.tar k8s.gcr.io/kube-controller-manager:v1.15.5
docker save -o k8s.gcr.io_kube-scheduler_v1.15.5.tar k8s.gcr.io/kube-scheduler:v1.15.5
docker save -o k8s.gcr.io_kube-proxy_v1.15.5.tar k8s.gcr.io/kube-proxy:v1.15.5
docker save -o k8s.gcr.io_pause_3.1.tar k8s.gcr.io/pause:3.1
docker save -o k8s.gcr.io_etcd_3.3.10.tar k8s.gcr.io/etcd:3.3.10
docker save -o k8s.gcr.io_coredns_1.3.1.tar k8s.gcr.io/coredns:1.3.1
1.3kubernetesを初期化する
[root@myuse1 ~]# kubeadm init --kubernetes-version=v1.15.9 --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=10.23.241.97
(2)配置授权信息
只配置master即可
[root@myuse1 ~]#mkdir -p /root/.kube
[root@myuse1 ~]#cp -i /etc/kubernetes/admin.conf /root/.kube/config
(3)安装网络插件
配置master和worker两者
[root@myuse1 ~]#docker save -o quay.io_coreos_flannel_v0.12.0-amd64.tar quay.io/coreos/flannel:v0.12.0-amd64
[root@myuse1 ~]#kubectl apply -f kube-flannel.yml
(4)加入工作节点
[root@myuse2 ~]#kubeadm join 10.23.241.97:6443 --token 68qggn.diljfxlg6ooy9j7h \
--discovery-token-ca-cert-hash sha256:0b42332af1355b3e22022ec38dad65a63e22697ad967bd3cd9b77aed29bf22bb
1.4ダッシュボードをインストールする
#kubectl apply -f kubernetes-dashboard.yaml
1.5ローカルに保存されているpvとpvcをインストールします
#kubectl create -f local-path-storage.yaml
#kubectl get sc --all-namespaces
1.6dockerローカルプライベートウェアハウスをインストールします
#dockerプルレジストリ
#docker実行-id --name = R1 -p 5000:5000個のレジストリ
入力アドレスのhttp://プライベートウェアハウス・サーバーIP:5000 / V2 / _catalog
http://10.23.241.97:5000/v2/_catalog
# vi /etc/docker/daemon.json
{"exec-opts":["native.cgroupdriver=systemd"],
"registry-mirrors":["https://ung2thfc.mirror.aliyuncs.com"],
"insecure-registries":["10.23.241.97:5000"]}
#systemctl restart
docker #docker start r1
2kubeflowのdex1.0.2バージョンをインストールします
2.1 kfctlとkubectlをインストールし、事前に構成します
(1)kfctl
#tar -xzvf kfctl_v1.0.2-0-ga476281_linux.tar.gz
#mv kfctl / usr / bin /
#kfctl version [v1.0.2-0-ga476281]
をインストールします。(2)k8sの
インストール中にkubectlをインストールします。 、すでにインストールされています。
(3)kubeflowをインストールする前に、
#vi / etc / kubernetes / manifests / kube-apiserver.yamlを構成する必要があります
- --service-account-issuer=kubernetes.default.svc
- --service-account-signing-key-file=/etc/kubernetes/pki/sa.key
2.2ファイルkfctl_istio_dex.v1.0.2.yaml
(1)kfctl_istio_dex.v1.0.2.yamlとmanifests-1.0.2.tar.gzをダウンロードします
https://github.com/kubeflow/manifests/blob/master/kfdef/kfctl_istio_dex.v1.0.2.yaml
https://github.com/kubeflow/manifests/archive/v1.0.2.tar.gz
v1.0.2.tar.gz就是manifests-1.0.2.tar.gz
(2)構成ファイルを変更します
repos:
- name: manifests
uri: https://github.com/kubeflow/manifests/archive/v1.0.2.tar.gz
修改为
repos:
- name: manifests
uri: file:///root/your102dex/manifests-1.0.2.tar.gz
#mkdir -p / root / your102dex
もmanifests-1.0.2.tar.gzをディレクトリに配置します
apiVersion: kfdef.apps.kubeflow.org/v1
kind: KfDef
metadata:
clusterName: kubernetes
creationTimestamp: null
name: your102dex
namespace: kubeflow
spec:
applications:
- kustomizeConfig:
repoRef:
name: manifests
path: application/application-crds
name: application-crds
- kustomizeConfig:
overlays:
- application
repoRef:
name: manifests
path: application/application
name: application
- kustomizeConfig:
parameters:
- name: namespace
value: istio-system
repoRef:
name: manifests
path: istio-1-3-1/istio-crds-1-3-1
name: istio-crds
- kustomizeConfig:
parameters:
- name: namespace
value: istio-system
repoRef:
name: manifests
path: istio-1-3-1/istio-install-1-3-1
name: istio-install
- kustomizeConfig:
parameters:
- name: namespace
value: istio-system
repoRef:
name: manifests
path: istio-1-3-1/cluster-local-gateway-1-3-1
name: cluster-local-gateway
- kustomizeConfig:
parameters:
- name: clusterRbacConfig
value: "ON"
repoRef:
name: manifests
path: istio/istio
name: istio
- kustomizeConfig:
parameters:
- name: namespace
value: cert-manager
repoRef:
name: manifests
path: cert-manager/cert-manager-crds
name: cert-manager-crds
- kustomizeConfig:
parameters:
- name: namespace
value: kube-system
repoRef:
name: manifests
path: cert-manager/cert-manager-kube-system-resources
name: cert-manager-kube-system-resources
- kustomizeConfig:
overlays:
- self-signed
- application
parameters:
- name: namespace
value: cert-manager
repoRef:
name: manifests
path: cert-manager/cert-manager
name: cert-manager
- kustomizeConfig:
overlays:
- application
parameters:
- name: namespace
value: istio-system
- name: userid-header
value: kubeflow-userid
- name: oidc_provider
value: http://dex.auth.svc.cluster.local:5556/dex
- name: oidc_redirect_uri
value: /login/oidc
- name: oidc_auth_url
value: /dex/auth
- name: skip_auth_uri
value: /dex
- name: client_id
value: kubeflow-oidc-authservice
repoRef:
name: manifests
path: istio/oidc-authservice
name: oidc-authservice
- kustomizeConfig:
overlays:
- istio
parameters:
- name: namespace
value: auth
- name: issuer
value: http://dex.auth.svc.cluster.local:5556/dex
- name: client_id
value: kubeflow-oidc-authservice
- name: oidc_redirect_uris
value: '["/login/oidc"]'
- name: static_email
value: [email protected]
- name: static_password_hash
value: $2y$12$ruoM7FqXrpVgaol44eRZW.4HWS8SAvg6KYVVSCIwKQPBmTpCm.EeO
repoRef:
name: manifests
path: dex-auth/dex-crds
name: dex
- kustomizeConfig:
overlays:
- istio
- application
repoRef:
name: manifests
path: argo
name: argo
- kustomizeConfig:
repoRef:
name: manifests
path: kubeflow-roles
name: kubeflow-roles
- kustomizeConfig:
overlays:
- istio
- application
parameters:
- name: userid-header
value: kubeflow-userid
repoRef:
name: manifests
path: common/centraldashboard
name: centraldashboard
- kustomizeConfig:
overlays:
- cert-manager
- application
repoRef:
name: manifests
path: admission-webhook/webhook
name: webhook
- kustomizeConfig:
overlays:
- istio
- application
parameters:
- name: userid-header
value: kubeflow-userid
repoRef:
name: manifests
path: jupyter/jupyter-web-app
name: jupyter-web-app
- kustomizeConfig:
overlays:
- application
repoRef:
name: manifests
path: spark/spark-operator
name: spark-operator
- kustomizeConfig:
overlays:
- istio
- application
- db
repoRef:
name: manifests
path: metadata
name: metadata
- kustomizeConfig:
overlays:
- istio
- application
repoRef:
name: manifests
path: jupyter/notebook-controller
name: notebook-controller
- kustomizeConfig:
overlays:
- application
repoRef:
name: manifests
path: pytorch-job/pytorch-job-crds
name: pytorch-job-crds
- kustomizeConfig:
overlays:
- application
repoRef:
name: manifests
path: pytorch-job/pytorch-operator
name: pytorch-operator
- kustomizeConfig:
overlays:
- application
parameters:
- name: namespace
value: knative-serving
repoRef:
name: manifests
path: knative/knative-serving-crds
name: knative-crds
- kustomizeConfig:
overlays:
- application
parameters:
- name: namespace
value: knative-serving
repoRef:
name: manifests
path: knative/knative-serving-install
name: knative-install
- kustomizeConfig:
overlays:
- application
repoRef:
name: manifests
path: kfserving/kfserving-crds
name: kfserving-crds
- kustomizeConfig:
overlays:
- application
repoRef:
name: manifests
path: kfserving/kfserving-install
name: kfserving-install
- kustomizeConfig:
overlays:
- application
parameters:
- name: usageId
value: <randomly-generated-id>
- name: reportUsage
value: "true"
repoRef:
name: manifests
path: common/spartakus
name: spartakus
- kustomizeConfig:
overlays:
- istio
repoRef:
name: manifests
path: tensorboard
name: tensorboard
- kustomizeConfig:
overlays:
- application
repoRef:
name: manifests
path: tf-training/tf-job-crds
name: tf-job-crds
- kustomizeConfig:
overlays:
- application
repoRef:
name: manifests
path: tf-training/tf-job-operator
name: tf-job-operator
- kustomizeConfig:
overlays:
- application
repoRef:
name: manifests
path: katib/katib-crds
name: katib-crds
- kustomizeConfig:
overlays:
- application
- istio
repoRef:
name: manifests
path: katib/katib-controller
name: katib-controller
- kustomizeConfig:
overlays:
- application
repoRef:
name: manifests
path: pipeline/api-service
name: api-service
- kustomizeConfig:
overlays:
- application
parameters:
- name: minioPvcName
value: minio-pv-claim
repoRef:
name: manifests
path: pipeline/minio
name: minio
- kustomizeConfig:
overlays:
- application
parameters:
- name: mysqlPvcName
value: mysql-pv-claim
repoRef:
name: manifests
path: pipeline/mysql
name: mysql
- kustomizeConfig:
overlays:
- application
repoRef:
name: manifests
path: pipeline/persistent-agent
name: persistent-agent
- kustomizeConfig:
overlays:
- application
repoRef:
name: manifests
path: pipeline/pipelines-runner
name: pipelines-runner
- kustomizeConfig:
overlays:
- istio
- application
repoRef:
name: manifests
path: pipeline/pipelines-ui
name: pipelines-ui
- kustomizeConfig:
overlays:
- application
repoRef:
name: manifests
path: pipeline/pipelines-viewer
name: pipelines-viewer
- kustomizeConfig:
overlays:
- application
repoRef:
name: manifests
path: pipeline/scheduledworkflow
name: scheduledworkflow
- kustomizeConfig:
overlays:
- application
repoRef:
name: manifests
path: pipeline/pipeline-visualization-service
name: pipeline-visualization-service
- kustomizeConfig:
overlays:
- application
- istio
parameters:
- name: userid-header
value: kubeflow-userid
repoRef:
name: manifests
path: profiles
name: profiles
- kustomizeConfig:
overlays:
- application
repoRef:
name: manifests
path: seldon/seldon-core-operator
name: seldon-core-operator
repos:
- name: manifests
uri: file:///root/your102dex/manifests-1.0.2.tar.gz
version: v1.0.2
status:
reposCache:
- localPath: '".cache/manifests/manifests-1.0.2"'
name: manifests
(3)ファイルkfctl_istio_dex.v1.0.2.yaml #grep
"path" kfctl_k8s_istio.v1.0.2.yamlにインストールする必要のあるコントロールを表示します
path: istio/istio-crds
path: istio/istio-install【运行前需要kubectl create ns kubeflow】
path: istio/istio
path: istio/cluster-local-gateway【需要修改kustomization.yaml的configMapGenerator】
path: istio/kfserving-gateway
path: istio/add-anonymous-user-filter
path: application/application-crds
path: application/application
path: cert-manager/cert-manager-crds
path: cert-manager/cert-manager-kube-system-resources
path: cert-manager/cert-manager
path: metacontroller
path: argo
path: kubeflow-roles
path: common/centraldashboard
path: admission-webhook/bootstrap
path: admission-webhook/webhook
path: jupyter/jupyter-web-app
path: spark/spark-operator
path: metadata
path: jupyter/notebook-controller
path: pytorch-job/pytorch-job-crds
path: pytorch-job/pytorch-operator
path: knative/knative-serving-crds
path: knative/knative-serving-install
path: kfserving/kfserving-crds
path: kfserving/kfserving-install
path: common/spartakus
path: tensorboard
path: tf-training/tf-job-crds
path: tf-training/tf-job-operator
path: katib/katib-crds
path: katib/katib-controller
path: pipeline/api-service
path: pipeline/minio
path: pipeline/mysql
path: pipeline/persistent-agent
path: pipeline/pipelines-runner
path: pipeline/pipelines-ui
path: pipeline/pipelines-viewer
path: pipeline/scheduledworkflow
path: pipeline/pipeline-visualization-service
path: profiles
path: seldon/seldon-core-operator
2.3kubeflowをインストールする
#cp kfctl_istio_dex.v1.0.2.yaml / root / your102dex#
cpマニフェスト-1.0.2.tar.gz / root / your102dex
#tar -xzvf kustomizefile.tar.gz -C / root / your102dex /
#kfctl apply -V- f kfctl_istio_dex.v1.0.2.yaml
は、インストール後にイメージをダウンロードし、イメージプル戦略を変更する必要があります
2.3.1ミラーファイル
(1)cert-manager
quay.io/jetstack/cert-manager-webhook:v0.11.0
(2)istio-system
gcr.io/istio-release/citadel:release-1.3-latest-daily
gcr.io/istio-release/galley:release-1.3-latest-daily
gcr.io/istio-release/proxyv2:release-1.3-latest-daily
gcr.io/istio-release/node-agent-k8s:release-1.3-latest-daily
gcr.io/istio-release/pilot:release-1.3-latest-daily
gcr.io/istio-release/mixer:release-1.3-latest-daily
gcr.io/istio-release/kubectl:release-1.3-latest-daily
gcr.io/istio-release/sidecar_injector:release-1.3-latest-daily
gcr.io/arrikto/kubeflow/oidc-authservice:28c59ef
(3)kubeflow
gcr.io/kubeflow-images-public/kubernetes-sigs/application:1.0-beta
gcr.io/kubeflow-images-public/admission-webhook:v1.0.0-gaf96e4e3
gcr.io/kubeflow-images-public/centraldashboard:v1.0.0-g3ec0de71
gcr.io/kubeflow-images-public/jupyter-web-app:v1.0.0-g2bd63238
gcr.io/kubeflow-images-public/katib/v1alpha3/katib-controller:v0.8.0
gcr.io/kubeflow-images-public/katib/v1alpha3/katib-db-manager:v0.8.0
mysql:8
mysql:8.0.3
gcr.io/kubeflow-images-public/katib/v1alpha3/katib-ui:v0.8.0
gcr.io/kfserving/kfserving-controller:0.2.2
gcr.io/kubebuilder/kube-rbac-proxy:v0.4.0
gcr.io/kubeflow-images-public/metadata:v0.1.11
gcr.io/ml-pipeline/envoy:metadata-grpc
gcr.io/tfx-oss-public/ml_metadata_store_server:v0.21.1
gcr.io/kubeflow-images-public/metadata-frontend:v0.1.8
gcr.io/ml-pipeline/api-server:0.2.5
gcr.io/ml-pipeline/visualization-server:0.2.5
gcr.io/ml-pipeline/persistenceagent:0.2.5
gcr.io/ml-pipeline/scheduledworkflow:0.2.5
gcr.io/ml-pipeline/frontend:0.2.5
gcr.io/ml-pipeline/viewer-crd-controller:0.2.5
gcr.io/kubeflow-images-public/notebook-controller:v1.0.0-gcd65ce25
gcr.io/kubeflow-images-public/profile-controller:v1.0.0-ge50a8531
gcr.io/kubeflow-images-public/kfam:v1.0.0-gf3e09203
gcr.io/kubeflow-images-public/pytorch-operator:v1.0.0-g047cf0f
gcr.io/spark-operator/spark-operator:v1beta2-1.0.0-2.4.4
gcr.io/google_containers/spartakus-amd64:v1.1.0
gcr.io/kubeflow-images-public/tf_operator:v1.0.0-g92389064
(4)auth
gcr.io/arrikto/dexidp/dex:4bede5eb80822fc3a7fc9edca0ed2605cd339d17
(5)knative-serving
gcr.io/istio-release/proxy_init:release-1.3-latest-daily
gcr.io/knative-releases/knative.dev/serving/cmd/networking/istio:latest
gcr.io/knative-releases/knative.dev/serving/cmd/autoscaler-hpa:latest
gcr.io/knative-releases/knative.dev/serving/cmd/controller:0.14.0
gcr.io/knative-releases/knative.dev/serving/cmd/webhook:0.14.0
gcr.io/knative-releases/knative.dev/serving/cmd/autoscaler:0.14.0
gcr.io/knative-releases/knative.dev/serving/cmd/activator:0.14.0
2.3.2knative-serving地元の民間倉庫
ミラーリポジトリが必要です
gcr.io/knative-releases/knative.dev/serving/cmd/networking/istio:latest
gcr.io/knative-releases/knative.dev/serving/cmd/autoscaler-hpa:latest
gcr.io/knative -releases / knative.dev / serving / cmd / controller:0.14.0
gcr.io/knative-releases/knative.dev/serving/cmd/webhook:0.14.0
gcr.io/knative-releases/knative.dev/serving /cmd/autoscaler:0.14.0
gcr.io/knative-releases/knative.dev/serving/cmd/activator:0.14.0(1
)ラベルをプッシュウェアハウスに変更します
docker tag gcr.io/knative-releases/knative.dev/serving/cmd/activator:0.14.0 10.23.241.97:5000/knative/serving/activator:0.14.0
docker tag gcr.io/knative-releases/knative.dev/serving/cmd/autoscaler:0.14.0 10.23.241.97:5000/knative/serving/autoscaler:0.14.0
docker tag gcr.io/knative-releases/knative.dev/serving/cmd/webhook:0.14.0 10.23.241.97:5000/knative/serving/webhook:0.14.0
docker tag gcr.io/knative-releases/knative.dev/serving/cmd/controller:0.14.0 10.23.241.97:5000/knative/serving/controller:0.14.0
docker tag gcr.io/knative-releases/knative.dev/serving/cmd/autoscaler-hpa:latest 10.23.241.97:5000/knative/serving/autoscaler-hpa:latest
docker tag gcr.io/knative-releases/knative.dev/serving/cmd/networking/istio:latest 10.23.241.97:5000/knative/serving/istio:latest
(2)プッシュミラー
docker push 10.23.241.97:5000/knative/serving/activator:0.14.0
docker push 10.23.241.97:5000/knative/serving/autoscaler:0.14.0
docker push 10.23.241.97:5000/knative/serving/webhook:0.14.0
docker push 10.23.241.97:5000/knative/serving/controller:0.14.0
docker push 10.23.241.97:5000/knative/serving/autoscaler-hpa:latest
docker push 10.23.241.97:5000/knative/serving/istio:latest
ファイル/root/your102dex/kustomize/knative-install/base/deployment.yamlを変更します
(3)
#kfctl apply -V -fkfctl_k8s_istio.v1.0.2.yamlを繰り返します
(4)インストールによって生成されたkustomizeフォルダーをパックしてコピーし、#
tar -czf kustomizefile.tar.gz kustomize /を使用します。
3kubeflowバージョンdex1.0.2の使用
(1)kubeflowページにログインします
#kubectl get svc --all-namespaces
http://10.23.241.97:31380/default
username [email protected]
default password 12341234
4例外の解決
4.1名前空間は削除を終了しています
(1)解決策は、ターミナルを再度開いてkubectlプロキシを実行し、ローカルポート8081でAPIプロキシを実行することです。#
kubectl proxy --port = 8081
(2)名前空間情報をjson形式でファイルに出力します。
4.2ポッドのyamlファイルが異常です
ファイル/ root / your02dex / kustomizeのyamlファイルを更新した後、対応するポッドを削除します。
#kubectl delete pod activator-7b47d44c6b-lf5xw -n knative-serving
次に、ポッドが自動的に再生成されます。
4.3ポッドは保留状態です
警告FailedScheduling76s(x199 over 5h21m)default-scheduler 0/2ノードが使用可能です:1 CPUが不十分で、1ノードにポッドが許容できない汚染がありました。
#kubectl describe pod tensorboard-5f685f9d79-bjtqf -nkubeflow查看
pod的有态
4.4ポッドが削除されました
k8sコンテナストレージスペースのリソース制限ephemeral-storage
(1)詳細
の表示ノードのリソースが不足していました:ephemeral-storage。コンテナml-pipeline-api-serverは37158112Kiを使用していましたが、リクエストの0を超えています。df-hItで
表示ルートディレクトリの77%がディスク領域に残っていることがわかりました。その一部を削除した後、正常に起動できることがわかりました。
ルートディレクトリのディスク容量が不足している可能性があります。容量の一部を削除してください。
(2)
エフェメラルストレージの概念と機能の詳細な分析。
エフェメラルストレージは、Kubernetesで実行されているアプリケーションを管理およびスケジュールするための短期ストレージです。
各Kubernetesノードでは、kubeletのルートディレクトリ(デフォルトでは/ var / lib / kubelet)とログディレクトリ(/ var / log)がノードのプライマリパーティションに保存されます。このパーティションもPodのEmptyDirタイプになります。ボリューム、コンテナーログ、ミラーレイヤー、およびコンテナー書き込み可能レイヤーによって占有されます。エフェメラルストレージは、このプライマリパーティションを管理し、アプリケーション定義の要件(要求)と制約(制限)を通じて、ノード上のアプリケーションによるプライマリパーティションの消費をスケジュールおよび管理します。
df -hを使用すると、/ var / libの下にコンテナ関連のディレクトリが多数あることがわかります。これらは一時的なストレージです
。Dockerルートディレクトリ:/ var / lib / dockerdockerを使用してダウンロードされたイメージはこのディレクトリに存在します。
kubeletの–root-dir:デフォルト(/ var / lib / kubelet)
(3)
理由の要約根本原因:Kubernetesが使用するシステムディスク容量が不十分です。トリガー項目は次のとおりです
。1。イメージミラーが多すぎて消費しすぎる多くのエフェメラルストレージ;
2。ローカルPVストレージはすべてシステムディスクディレクトリの下にマウントされます;
3。一部のコンテナは永続ストレージを使用せず、すべてのログなどがエフェメラルストレージに出力されます。
(4)ソリューションの
原則:エフェメラルストレージにログをkubernetesシステムでのみ保存させ、システムのディスク容量が十分である必要があります。
1.イメージイメージレイヤーのストレージは非システムディスクとして指定されます;
2。ローカルPVストレージは非システムディスクでマウントされます;(ローカルディスクは実稼働環境では禁止されており、クラウドストレージを使用する必要があります)
3.コンテナはすべて永続ストレージを使用する必要があり、ログヒットをコンテナに保存することは禁止されています。
5kubeflowを削除します
#cd / root / your102dex
#kfctl delete -f kfctl_istio_dex.v1.0.2.yaml
は、kubeflowが終了状態にあることを検出しました。
約3分後、kubeflowは消えました。
残りは、kubeflowのインストールに必要なその他の周辺コンポーネントです。