問題タブ [google-kubernetes-engine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-kubernetes-engine - クラスター マスター経由でコンテナー サービスにアクセスできますか?
Google Container Engine サービス ドキュメントhttps://cloud.google.com/container-engine/docs/services/operations#sample_fileには、「サービスにアクセスするために、クライアントはクラスター マスター エンドポイントに接続できます...」と記載されています。
デプロイしたサービスは、サービス ポートを介して任意のクラスター ノードでアクセスできますが、マスターではアクセスできません。
サービス ポートを開いた kube-proxy インスタンスは、クラスター ノードでのみ実行されます。
netstat は、クラスター マスターでサービス ポートが開いていることを示しません。
ドキュメントは正しいですか?それが正しく、クラスター マスターをエンドポイントとして使用できる場合、この問題をデバッグするにはどうすればよいですか?
kubernetes - Google Container Engine 上の同じ Kubernetes クラスタ内のポート 80 で複数のサービスを実行する
Google Container Engine 上の Kubernetes のポート 80 で複数のサービスを実行できますか? 各サービスには専用の外部 IP アドレスがあるため、理論的にはルーターは IP アドレスに基づいて各サービスにルーティングできるはずです。
これまで、Container Engine で「frontend-1」と「frontend-2」のポッドを作成しました。一意の外部 IP を使用してポート 80 で実行する両方のサービスを個別に作成しようとしましたが、うまくいきませんでした。カスタム ルーティング サービスを使用せずに Kubernetes でこれを達成する別の方法はありますか?
サービス-1.yaml:
サービス-2.yaml:
google-kubernetes-engine - Hello-Wordpress サンプルでエラーが発生する
https://cloud.google.com/container-engine/docs/hello-wordpressの手順に従う
「gcloud compute instances list」に到達するまではすべて機能します。次のエラーが表示されます。
[ec2-user@ip-10-00-00-000~]$ gcloud compute instances list
NAME ZONE MACHINE_TYPE INTERNAL_IP EXTERNAL_IP STATUS
Traceback (most recent call last):
File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/gcloud/gcloud.py", line 175, in <module>
main()
File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/gcloud/gcloud.py", line 171, in main
_cli.Execute()
File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/calliope/cli.py", line 385, in Execute
post_run_hooks=self.__post_run_hooks, kwargs=kwargs)
File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/calliope/frontend.py", line 274, in _Execute
pre_run_hooks=pre_run_hooks, post_run_hooks=post_run_hooks)
File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/calliope/backend.py", line 930, in Run
output_formatter(result)
File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/calliope/backend.py", line 916, in OutputFormatter
command_instance.Display(args, obj)
File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/compute/lib/base_classes.py", line 304, in Display
PrintTable(resources, self._resource_spec.table_cols)
File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/compute/lib/base_classes.py", line 46, in PrintTable
for resource in resources:
File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/compute/lib/base_classes.py", line 289, in Run
for item in items:
File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/compute/lib/lister.py", line 29, in ProcessResults
yield field_selector.Apply(resource)
File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/compute/lib/property_selector.py", line 355, in Apply
res = _DictToOrderedDict(obj)
File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/compute/lib/property_selector.py", line 177, in _DictToOrderedDict
new_obj = collections.OrderedDict(sorted(obj.items()))
AttributeError: 'module' object has no attribute 'OrderedDict'
それは私のWindowsボックスで機能するため、無視して次のステップに進み、次のエラーが発生します。
パラメータの順序を変更しようとしましたが、それでも上記と同じエラーが発生します。何か案は?
google-cloud-platform - Kubernetes とポート
次のシナリオがあります。
- Elastichserach を使用する VM
- Kubernetes クラスター
それらはすべて同じプロジェクトの同じゾーンにあります。
クラスター内にあるコンテナー内から Elasticsearch (es) にアクセスする必要があります。es
外部および内部 IPを持つ VMは、基本的にクラスター ノード内から、内部 IP でgcloud ssh ...
カールできes
ますが、コンテナー内からは内部 IP を使用できません (?)、外部を使用する必要があります。問題は、外部 IP をセットアップできないことです。プールの作成、転送ルールの追加、ファイアウォール ルールの追加をポート 9200 に試みましたが、これはローカル マシンからも kubernete ポッドのコンテナーからも機能しません (ネットワーク ルールを考えるとGCE では複雑すぎます)。
誰かがどこに問題があるのか 提案できますか?理想的には、kubenetes コンテナーに内部 IP を使用し、柔軟な検索サーバーを維持するために、外部 IP のオン/オフをすばやく切り替える単純な管理インターフェイスを使用したいと考えています。
ありがとう。
java - Google Container Engine のクラスタ内のポッドの編成
Kubernetes でクラスター内のポッドを編成する通常の方法は何ですか?
Google Container Engine で実行したい Jenkins ビルド サーバー、Docker レジストリ、Git リポジトリ、およびその他の開発ツールがあります。それぞれに 1 つのクラスターを作成しますか? または、各ノードで複数のポッドをスケジュールできますか?
私の質問は、これらすべてのサービスを保持する 1 つのクラスターを作成しますか、それとも複数のクラスターを作成しますか? 同じ質問が本番環境、qa などの環境にも当てはまります。環境ごとに 1 つのクラスターを作成する必要がありますか? それとも同じクラスター内に配置する必要がありますか?
docker - --cap-add で Google Container Engine
Google Container Engine で、Docker コンテナの実行に機能を追加できないという問題が発生しています。
iptables
Docker VPN コンテナーを介してトラフィックを転送できるように、 を変更できる必要があります。
--cap-add=NET_ADMIN を実行コマンドに渡すことができる場合、docker コンテナーは正常に実行されますが、GCE は (一見) イメージしか実行できないため、これは可能ではないようです。Docker イメージを実行すると、アクセス許可が不十分であるというエラーが表示され、デプロイに失敗します。
とにかくこの周りにあるので、変更できiptables
ますか?それとも、GCE にはこの機能がありませんか?
この問題を確認しました。特権を使用してイメージを構築することを参照していますが、解決にはほど遠いようです。
参照用の私のiptables
コマンド:
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -m policy --dir out --pol ipsec -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE
kubernetes - Google Container Engine で Kubernetes サービスを使用して動的ポートを公開する方法は?
TCP プロトコルを使用して、ローカル マシンからインターネット経由で Google Container Engine (GKE) 上の Docker コンテナに接続しようとしています。これまで、外部 IP アドレスを提供する Kubernetes サービスを使用してきたので、ローカル マシンはサービスを使用して GKE 上のコンテナに接続できます。サービスを作成するときは、ポートを 1 つしか指定できず、ポート範囲を指定できません。以下の my-ros-service.yaml を参照してください。この場合、GCE の外部から 11311 ポートでコンテナーにアクセスできます。
ただし、コンテナーで実行される一部のアプリケーションは、動的ポートを公開して他のアプリケーションに接続します。したがって、アプリケーションが使用するポート番号を特定できず、アプリケーションを実行する前に Kubernetes サービスを作成できません。
これまでのところ、アプリケーションの実行中に異なるポートを持つ多くのサービスを作成することで、コンテナーに接続することができました。しかし、これは問題を解決する現実的な方法ではありません。
私の質問は次のとおりです。
Kubernetes サービスを使用して、GCE の外部から Docker コンテナーの動的ポートを公開するアプリケーションに接続するにはどうすればよいですか?
可能であれば、コンテナ上で実行されるアプリケーションを実行する前に、着信接続用の動的ポートを公開するサービスを作成できますか?
アドバイスや情報をいただければ幸いです。
前もって感謝します。
my-ros-service.yaml
docker - Docker が Kubernetes ポッドで実行される順序を指定する
同じ Kubernetes ポッドで 2 つの Docker を実行しようとしていますが、Docker コンテナーの 1 つを常に他のコンテナーの前に実行したいと考えています。ポッド構成ファイルでそのような依存関係を指定することについて学んだことを覚えていますが、今はそれを見つけることができません。Kubernetesのドキュメントでも説明されていません。
別のStackoverflow questionから採用した 2 つのコンテナーを使用したポッド構成の例を次に示します。type1
前にコンテナーを実行するには、このポッド構成をどのように変更すればよいtype2
ですか?
前もってありがとう、ノディール。