kubernetesでContainerCreating状態の原因究明と解決方法
2022-02-28 17:16:14
最近、kubernetesの勉強を始めたばかりなのですが、コンテナを動かすと、ずっとContainerCreating状態になっていることがわかりました。
コンテナの実行コマンドです。
[root@master-149 ~]# kubectl run my-alpine --image=alpine --replicas=2 ping www.baidu.com
ポッドの状態を確認する
[root@master-149 ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
my-alpine-2150523991-knzcx 0/1 ContainerCreating 0 6m
my-alpine-2150523991-lmvv5 0/1 ContainerCreating 0 6m
常にContainerCreatingの状態、原因究明中
以下のコマンドを実行します。
[root@master-149 ~]# kubectl describe pod my-alpine
Name: my-alpine-2150523991-knzcx
Namespace: default
Node: node-150/192.168.10.150
Start Time: Sat, 19 Nov 2016 18:20:52 +0800
Labels: pod-template-hash=2150523991,run=my-alpine
Status: Pending
IP:
Controllers: ReplicaSet/my-alpine-2150523991
Containers:
my-alpine:
Container ID:
Image: alpine
Image ID:
Port:
Args:
ping
www.baidu.com
QoS Tier:
cpu: BestEffort
memory: BestEffort
State: Waiting
Reason: ContainerCreating
Ready: False
Restart Count: 0
Environment Variables:
Conditions:
Type Status
Ready False
No volumes.
Events:
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
7m 7m 1 {default-scheduler } Normal Scheduled Successfully assigned my-alpine-2150523991-knzcx to node-150
6m 6m 1 {kube-let node-150} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "image pull failed for gcr.io/google_containers/pause:2.0, this may be because there are no credentials on this request. details : (unable to ping registry endpoint https://gcr.io/v0/\nv2 ping attempt failed with error: Get https://gcr.io/v2/: dial tcp 64.233.189.82:443: getsockopt: connection refused\n v1 ping attempt failed with error: Get https://gcr.io/v1/_ping: dial tcp 64.233.189.82:443: getsockopt: connection refused)"
4m 47s 3 {kubelet node-150} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "image pull failed for gcr.io/google_containers/pause:2.0, this may be because there are no credentials on this request. details : (unable to ping registry endpoint https://gcr.io/v0/\nv2 ping attempt failed with error: Get https://gcr.io/v2/: dial tcp 74.125.204.82:443: getsockopt: connection refused\n v1 ping attempt failed with error: Get https://gcr.io/v1/_ping: dial tcp 74.125.204.82:443: getsockopt: connection refused)"
4m 8s 6 {kubelet node-150} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "POD" with ImagePullBackOff: "Back-off pulling image \"gcr.io/google_containers/pause:2.0\""
Name: my-alpine-2150523991-lmvv5
Namespace: default
Node: node-150/192.168.10.150
Start Time: Sat, 19 Nov 2016 18:20:52 +0800
Labels: pod-template-hash=2150523991,run=my-alpine
Status: Pending
IP:
Controllers: ReplicaSet/my-alpine-2150523991
Containers:
my-alpine:
Container ID:
Image: alpine
Image ID:
Port:
Args:
ping
www.baidu.com
QoS Tier:
cpu: BestEffort
memory: BestEffort
State: Waiting
Reason: ContainerCreating
Ready: False
Restart Count: 0
Environment Variables:
Conditions:
Type Status
Ready False
No volumes.
Events:
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
7m 7m 1 {default-scheduler } Normal Scheduled Successfully assigned my-alpine-2150523991-lmvv5 to node-150
5m 1m 3 {kube-let node-150} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "image pull failed for gcr.io/google_containers/pause:2.0, this may be because there are no credentials on this request. details : (unable to ping registry endpoint https://gcr.io/v0/\nv2 ping attempt failed with error: Get https://gcr.io/v2/: dial tcp 74.125.204.82:443: getsockopt: connection refused\n v1 ping attempt failed with error: Get https://gcr.io/v1/_ping: dial tcp 74.125.204.82:443: getsockopt: connection refused)"
3m 1m 4 {kubelet node-150} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "POD" with ImagePullBackOff: "Back-off pulling image \"gcr.io/go
のところです。
Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "image pull failed for gcr.io/ google_containers/pause:2.0, this may be because there are no credentials on this request. details: (unable to ping registry endpoint https://gcr.io /v0/\nv2 ping attempt failed with error: Get https://gcr.io/v2/: dial tcp 74.125.204.82:443: getsockopt: connection refused\n v1 ping attempt failed with error: Get https://gcr.io/v1/_ping: dial tcp 74.125.204.82:443: getsockopt: connection refused)
というのは簡単にわかる。
は、gcr.io にアクセスすることができません。
次のような解決策があります。
- 壁を越える
- hosts ファイルを修正する(ここでは "61.91.161.217" を使用)。 gcr.io"、ただし動作しない場合があります)
- コンテナ "pause:2.0" を別のソースからダウンロードし、".Pause:2.0" としてタグ付けします。 gcr.io/google_containers/pause:2.0"
関連
-
[解決済み] ポッドにバインドされていないPersistentVolumeClaimsがある
-
[解決済み] WaitForFirstConsumer PersistentVolumeClaim バインドする前に最初のコンシューマが作成されるのを待つ。
-
[解決済み] no endpoints available for service \"kubernetes-dashboard"
-
[解決済み] kubectlで現在のコンテキストのconfigの詳細を表示するにはどうすればよいですか?
-
[解決済み] Nginx Ingress: サービス "ingress-nginx-controller-admission" が見つかりません。
-
[解決済み] Istio Ingressで "no healthy upstream "が発生する。
-
[解決済み] Kubernetes ReplicaFailure FailedCreate でもイベントなし
-
Minikubeを使ったwindows10へのkubernetesのインストール
-
kubernate が nginx-ingress-controller をデプロイし、ingress ポリシーを定義する。
-
[解決済み] kubeadm init は kubelet が実行中または健全でないことを表示します。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Kubernetes: kubectl run: コマンドが見つかりません。
-
[解決済み] Kubernetesです。kubectl configからクラスタとコンテキストを削除するにはどうすればいいですか?
-
[解決済み] KubernetesのジョブにおけるbackoffLimitの理解
-
[解決済み] kubernetes UnexpectedAdmissionError ロールアウト後。
-
kubenetes: ポッドにバインドされていないPersistentVolumeClaimsがあります。
-
Kubernetesジョブコントローラーのソースコード解析
-
[解決済み] PodがTerminatingステータスで立ち往生している
-
[解決済み] Helmを以前のリリースにロールバックする
-
[解決済み] kubectlのポートフォワードはどのように動作しますか?
-
[解決済み] kubernetesのdeployment yamlを変更せずにPodをローリング再起動する方法は?