これはバグレポートですか、それとも機能リクエストですか?:バグ
Kubernetesバージョン(kubectlバージョンを使用):
Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"2017-01-12T04:57:25Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.3", GitCommit:"029c3a408176b55c30846f0faedf56aae5992e9b", GitTreeState:"clean", BuildDate:"2017-02-15T06:34:56Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
環境:
クラウドプロバイダーまたはハードウェア構成: 2GB RAM / 50GB HDD VM
OS(例:/ etc / os-releaseから):
NAME = "Ubuntu"
VERSION = "16.04 LTS(Xenial Xerus)"
ID = ubuntu
ID_LIKE = debian
PRETTY_NAME = "Ubuntu 16.04 LTS"
VERSION_ID = "16.04"
HOME_URL = " http://www.ubuntu.com/ "
SUPPORT_URL = " http://help.ubuntu.com/ "
BUG_REPORT_URL = " http://bugs.launchpad.net/ubuntu/ "
UBUNTU_CODENAME = xenial
カーネル(例:uname -a):
Linux ubuntu 4.4.0-21-generic#37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU / Linux
ツールのインストール: kubeadm、kubectl、docker
その他:NA
何が起こったのか:プライベートリポジトリからプルしているときにImagePullBackOff
あなたが起こると期待したこと:それはプライベートリポジトリから画像を大声で引き出しました
それを再現する方法(可能な限り最小限かつ正確に):
root<strong i="5">@ubuntu</strong>:~# vi /etc/systemd/system/docker.service.d/private-registry.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --insecure-registry 123.456.789.0:9595
docker login 123.456.789.0:9595
Docker情報
コンテナ:87
ランニング:18
一時停止:0
停止:69
画像:175
サーバーバージョン:1.12.3
ストレージドライバー:aufs
ルートディレクトリ:/ var / lib / docker / aufs
バッキングファイルシステム:extfs
Dirs:384
サポートされているDirperm1:true
ロギングドライバー:json-file
Cgroupドライバー:cgroupfs
プラグイン:
ボリューム:ローカル
ネットワーク:ホストブリッジヌルオーバーレイ
群れ:非アクティブ
ランタイム:runc
デフォルトのランタイム:runc
セキュリティオプション:apparmor seccomp
カーネルバージョン:4.4.0-21-generic
オペレーティングシステム:Ubuntu 16.04 LTS
OSType:linux
アーキテクチャ:x86_64
CPU:1
総メモリ:1.937 GiB
名前:ubuntu
ID:FXD7: JQJZ:HO3R :D2NK: RWYL:7DCY :PC2M:43PM:MA7C: QSPN:4RGS :5W6H
Dockerルートディレクトリ:/ var / lib / docker
デバッグモード(クライアント):false
デバッグモード(サーバー):false
レジストリ: https :
警告:スワップ制限はサポートされていません
安全でないレジストリ:
123.456.789.0:9595
127.0.0.0/8
docker -v
Dockerバージョン1.12.3、ビルド6b644ec
マスターでkubeadmを開始します
kubeadm init --token 123456.1234567890123456 --api-advertise-addresses 192.168.91.133
weiveネットワークを作成しました
kubectl apply -f https://git.io/weave-kube
apiVersion: v1
kind: Pod
metadata:
name: test-pod
labels:
name: test
spec:
containers:
- image: 123.456.789.0:9595/test
name: test
ports:
- containerPort: 8443
imagePullSecrets:
- name: my-secret
Name: test-pod
Namespace: default
Node: ubuntu-child/192.168.91.134
Start Time: Thu, 16 Feb 2017 12:26:56 +0530
Labels: name=test
Status: Pending
IP: 10.44.0.2
Controllers: <none>
Containers:
test:
Container ID:
Image: 123.456.789.0:9595/test
Image ID:
Port: 8443/TCP
State: Waiting
Reason: ErrImagePull
Ready: False
Restart Count: 0
Volume Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-vkj94 (ro)
Environment Variables: <none>
Conditions:
Type Status
Initialized True
Ready False
PodScheduled True
Volumes:
default-token-vkj94:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-vkj94
QoS Class: BestEffort
Tolerations: <none>
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
9s 9s 1 {default-scheduler } Normal Scheduled Successfully assigned test-pod to ubuntu-child
7s 7s 1 {kubelet ubuntu-child} spec.containers{test} Normal Pulling pulling image "123.456.789.0:9595/test"
7s 7s 1 {kubelet ubuntu-child} spec.containers{test} Warning Failed Failed to pull image "123.456.789.0:9595/test": Error: image test:latest not found
7s 7s 1 {kubelet ubuntu-child} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "test" with ErrImagePull: "Error: image test:latest not found"
7s 7s 1 {kubelet ubuntu-child} spec.containers{test} Normal BackOff Back-off pulling image "123.456.789.0:9595/test"
7s 7s 1 {kubelet ubuntu-child} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "test" with ImagePullBackOff: "Back-off pulling image \"123.456.789.0:9595/test\""
スレーブとマスターから、プライベートリポジトリをプルできます。 ただし、ポッド定義にシークレットを追加したにもかかわらず、kubectlがプライベートリポジトリからイメージをプルしようとすると、問題が発生します。
ポート番号が原因で問題が発生しました。 ポート番号を入力すると、期待どおりに機能し始めます。
kubectl create secret docker-registry my-secret --docker-server=123.456.789.0:9595 --docker-username=admin --docker-password=XXXX [email protected]
実際のバグではありませんでしたが、解決策についてはhttp://stackoverflow.com/questions/42267164/kubectl-not-able-to-pull-the-image-from-private-repositoryを参照して
最も参考になるコメント
ポート番号が原因で問題が発生しました。 ポート番号を入力すると、期待どおりに機能し始めます。
kubectl create secret docker-registry my-secret --docker-server=123.456.789.0:9595 --docker-username=admin --docker-password=XXXX [email protected]