問題タブ [kubernetes-service]
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.
kubernetes - ClusterIp が設定されている場合、Kubernetes サービスが公開されない
次の YAML ファイルがあります -
このサービスが作成されると、ClusterIP が自動的に設定されます。私のステートフル セット「mariadb」は、このサービスを使用して公開されています。しかし、Kubernetes 上の別のポッドにログインすると、このポッドを使用して ping を実行できません。
ServiceType が「NodePort」に設定されている場合も機能しません。
サービスを更新すると
Kubernetes の別のポッドにログインすると、次を使用してこのポッドに ping を実行できます
ClusterIP が設定されている場合、この内部 URL にアクセスできない理由はありますか?
ssl - TLS による Kubernetes サービスの保護
クラスター IP を持つサービスによって、内部にあり、クラスター上の他のアプリケーションにのみ公開されるアプリケーションがあります。他のサービスは、DNS ( ) 経由でこのアプリケーションにアクセスしていますserviceName-namespace.svc.cluster.local
。このアプリケーションは機密データを処理するため、すべての通信はクラスター内で行われますが、TLS を使用してこのアプリケーションへの通信を保護したいと考えています。
私の質問は、サービスで TLS を有効にするにはどうすればよいですか? 何かがすでに存在していますか、それともアプリケーション コードで処理する必要がありますか? また、証明書に署名できるクラスターで使用できる CA は既にあります.svc.cluster.local
か?
明確にするために、私はこの目的でイングレスを使用できることを知っています。唯一の問題は、このサービスを内部のみに保持することです。そのため、クラスター内のサービスのみがアクセスできます。
ありがとう、オマー
kubernetes - nginx リバース プロキシを使用して Kubernetes でサービスを公開する
私は Kubernetes を初めて使用し、Kubernetes で実行されているサービスを外部の世界に公開する方法を理解したいと考えていました。クラスターで NodePort を使用して公開しました。たとえば、サービスがホストのポート 31234 を公開し、別のサーバーからhttps://kubeserverIP:31234を介してサービスにアクセスできます。
私が達成したいのは、http://service.example.comなどのURLを介してnginx(Kubeの制御外の別のサーバー上)を介してこのサービスを提供することです。サービスを指すアップストリームで nginx をデプロイしようとしましたが、それが機能せず、不正なゲートウェイ エラーが発生します。
ここで私が見逃しているものはありますか? または、これを達成するためのよりきちんとした方法があります。
Kubernetes クラスターのベアメタル インストールがあり、gce ロード バランサーまたは他のベンダーの LB にアクセスできません。
ありがとう
kubernetes - Kubernetes でサービスを実行するための構成ファイルがうまく機能しない
次のようなポッドを作成するための「pod.yaml」という名前の構成ファイルがあります。
apiVersion: v1
kind: Pod
metadata:
name: myapp
labels:
app: myapp
spec:
containers:
- name: comet-app
image: gcr.io/my-project/my-app:v2
ports:
- containerPort: 5000
その「myapp」ポッドでサービスを実行するための「service.yaml」という名前の構成ファイル。
apiVersion: v1
kind: Service
metadata:
name: myapp
spec:
type: LoadBalancer
ports:
- protocol: TCP
port: 80
targetPort: 5000
selector:
run: myapp
私が走るとき
「myapp」サービスが作成されましたが、内部 IP で Web サイトにアクセスできず、ERR_CONNECTION_TIMED_OUT が返されました。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.xx.xxx.1 <none> 443/TCP 11d
myapp LoadBalancer 10.xx.xxx.133 35.xxx.xx.172 80:30273/TCP 3s
しかし、そのサービスを削除し、次のコマンドでサービスを公開して再実行すると、すべてがうまく機能し、外部 IP で自分の Web サイトにアクセスできました。
誰かが私のためにそれを説明し、私のservice.yamlで何が悪いのか教えてもらえますか?