オフラインクラスター(マシンはインターネットにアクセスできません)で、ドッキング可能なドッキング画像を使用してドッキング画像を展開しています。 私のサーバーはCentos7です。 私はマシンに安全でないドッカーレジストリを設定しました。私たちは環境を変えようとしています。私はコンテナの引き取りを管理するためにクベネットを設置しています。オフラインクラスタのローカルイメージからコンテナを実行できない不安定なレジストリを取得できません。
iはkubernetesをインストールするには、このガイドに従ってください:https://severalnines.com/blog/installing-kubernetes-cluster-minions-centos7-manage-pods-services
をインストールした後、私はテストポッドを起動しようとしました。
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: [my_registry_addr]:[my_registry_port]/nginx:v1
ports:
- containerPort: 80
私が間違っていたものに多くの情報を取得するために説明kubectl使用:ここここ
kubectl -f create nginx.yml
YMLで起動する、ポッド用YMLある
Name: nginx
Namespace: default
Node: [my node]
Start Time: Fri, 15 Sep 2017 11:29:05 +0200
Labels: <none>
Status: Pending
IP:
Controllers: <none>
Containers:
nginx:
Container ID:
Image: [my_registry_addr]:[my_registry_port]/nginx:v1
Image ID:
Port: 80/TCP
State: Waiting
Reason: ContainerCreating
Ready: False
Restart Count: 0
Volume Mounts: <none>
Environment Variables: <none>
Conditions:
Type Status
Initialized True
Ready False
PodScheduled True
No volumes.
QoS Class: BestEffort
Tolerations: <none>
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
2m 2m 1 {default-scheduler } Normal Scheduled Successfully assigned nginx to [my kubernet node]
1m 1m 2 {kubelet [my kubernet node]} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "Error while pulling image: Get https://index.docker.io/v1/repositories/library/[my_registry_addr]/images: dial tcp: lookup index.docker.io on [kubernet_master_ip]:53: server misbehaving"
54s 54s 1 {kubelet [my kubernet node]} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "POD" with ImagePullBackOff: "Back-off pulling image \"[my_registry_addr]:[my_registry_port]\""
8s 8s 1 {kubelet [my kubernet node]} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/[my_registry_addr]/images. You may want to check your internet connection or if you are behind a proxy."
、その後、私は自分のノードに行き、journalctl -xeを使います。
sept. 15 11:22:02 [my_node_ip] dockerd-current[9861]: time="2017-09-15T11:22:02.350930396+02:00" level=info msg="{Action=create, LoginUID=4294967295, PID=11555}"
sept. 15 11:22:17 [my_node_ip] dockerd-current[9861]: time="2017-09-15T11:22:17.351536727+02:00" level=warning msg="Error getting v2 registry: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)"
sept. 15 11:22:17 [my_node_ip] dockerd-current[9861]: time="2017-09-15T11:22:17.351606330+02:00" level=error msg="Attempting next endpoint for pull after error: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)"
sept. 15 11:22:32 [my_node_ip] dockerd-current[9861]: time="2017-09-15T11:22:32.353946452+02:00" level=error msg="Not continuing with pull after error: Error while pulling image: Get https://index.docker.io/v1/repositories/library/[my_registry_ip]/images: dial tcp: lookup index.docker.io on [kubernet_master_ip]:53: server misbehaving"
sept. 15 11:22:32 [my_node_ip] kubelet[11555]: E0915 11:22:32.354309 11555 docker_manager.go:2161] Failed to create pod infra container: ErrImagePull; Skipping pod "nginx_default(8b5c40e5-99f4-11e7-98db-f8bc12456ee4)": Error while pulling image: Get https://index.docker.io/v1/repositories/library/[my_registry_ip]/images: dial tcp: lookup index.docker.io on [kubernet_master_ip]:53: server misbehaving
sept. 15 11:22:32 [my_node_ip] kubelet[11555]: E0915 11:22:32.354390 11555 pod_workers.go:184] Error syncing pod 8b5c40e5-99f4-11e7-98db-f8bc12456ee4, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "Error while pulling image: Get https://index.docker.io/v1/repositories/library/[my_registry_ip]/images: dial tcp: lookup index.docker.io on [kubernet_master_ip]:53: server misbehaving"
sept. 15 11:22:44 [my_node_ip] dockerd-current[9861]: time="2017-09-15T11:22:44.350708175+02:00" level=error msg="Handler for GET /v1.24/images/[my_registry_ip]:[my_registry_port]/json returned error: No such image: [my_registry_ip]:[my_registry_port]"
私はドッカーの構成が良いと確信しています。なぜなら、私は毎日、それを使用しています。
ドッキングウィンドウのバージョンは、kubernetバージョン1.12.6である1.5.2
で誰かが私は今何ができるかのいくつかの洞察力を持っていますか?私はこの用法のための設定キーを見つけませんでした。
私は、引っ張りが失敗しているのを見たとき、私は手動ですべてのノード上の画像を引っ張ります。私はkubernetesがデフォルトとして引っ張ってみてください、と設定することになることを確実にするためにタグをつけ、「imagePullPolicyを:IfNotPresentを」
プライベートレジストリは正式であるか、または正式でありますか?また、これが役立つかどうかを確認してくださいhttps://blog.cloudhelix.io/using-a-private-docker-registry-with-kubernetes-f8d5f6b8f646 –
Kubernetesはあなたのプライベートレジストリからイメージをプルする方法を知らないようですhttps ://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/およびhttps://kubernetes.io/docs/concepts/containers/images/#using-a-private-registry –
認証なしのレジストリです。 httpを使用すると安全ではありません。自分のノード上のdaemon.jsonファイルを編集してレジストリから引き出すことができます。 –