1

Google Kontainerエンジン(GKE =>バージョン1.7.8-gke.0)を使用してkubernetesにspring-bootアプリケーションを配備しようとしています。およびサービス。レプリケーションコントローラとサービスが正常に作成されました。私が打つときは*、私はここでの問題のカップルを持っているサービス説明spring-boot kubernetesがGKEに配備されたコントローラエンドポイントにアクセスできない

クラスタの詳細

$ gcloud container clusters list 


NAME ZONE   MASTER_VERSION MASTER_IP  MACHINE_TYPE 
NODE_VERSION NUM_NODES STATUS 
spring europe-west1-d 1.7.8-gke.0  XX.XXX.XXX.XXX g1-small  
1.7.8-gke.0 3   RUNNING 

kubectl describe svc spring-boot-k8-service 


Name:      spring-boot-k8-service 
Namespace:    default 
Labels:     <none> 
Annotations:    <none> 
Selector:     app=spring-boot-k8 
Type:      NodePort 
IP:      10.59.249.64 
Port:      <unset> 9085/TCP 
TargetPort:    9085/TCP 
NodePort:     <unset> 30726/TCP 
Endpoints:    10.56.0.5:9085,10.56.1.3:9085,10.56.2.7:9085 
Session Affinity:   None 
External Traffic Policy: Cluster 
Events:     <none> 

を参照するために、以下の出力を見つけてください。 * https://xx.xxx.xxx.xxx **ユーザー名とパスワードのダイアログが表示されない、次のエラー代わりを取得

User "system:anonymous" cannot get path "/".: "No policy matched.\nUnknown user \"system:anonymous\"" 

他の問題は、私がサービスにアクセスできるIPアドレス使用して、ありますか?記述応答内のものは内部IPです。私もクラスタマスターIPで試しましたが、うまく動作しません。インスタンス内

は、私はSSHを行なったし、それがうまく働いていたカール、

curl -X GET -H "Cache-Control: no-cache" "http://localhost:32432/sayHello" 
Hello.Welcome to our site!!!! 

しかし、私は、外部から上記のエンドポイントにアクセスするために使用する必要がどのIPわかりません。

何か助けや指針が必要です。

+0

_User "system:anonymous"はパスを取得できません "/": "ポリシーは一致しません。\ n不明なユーザー\ "システム:匿名\" "_はあなたのアプリからのものですか、リクエストはあなたのアプリに届きませんか?私はあなたの下のカールが認証を使用していないので、あなたが1つを期待しているかのように –

答えて

0

その他の問題は、どのIPアドレスを使用してサービスにアクセスできるかです。記述応答内のものは内部IPです。私もクラスタのマスターIPで試してみましたが、うまく動作しません。

私はあなたに手伝ってくれる部分だと思います。あなたのサービスのtype: NodePortは、それはあなたが見るIPアドレス(およびポート)に内部クラスタを待機していることを意味します10.59.249.64:9085が、それはのIPアドレスにのみアクセス外クラスタのすべてのノードである on port 30726

インターネットにアクセスできるようにするには、ロードバランサを作成し、すべてのノードを前記ロードバランサに割り当て、そのノードのポート30726にトラフィックを誘導する必要があります。それとも、あなたはhttps://XX.XXX.XXX.XXXその後、不思議のようにあなたのgcloud container cluster listから同じXX.XXX.XXX.XXXを使用している場合、ほとんどの人は、as described in the documentation


別に、GKEはあなたのためにそれらの正確な手順を実行させるtype: LoadBalancerを使用し、そのような状況で行うようにsystem:anonymousというエラーが発生しています。これは、KubernetesマスターのAPI URLです(非常に例外はほとんどありませんが)、認証されていないリクエストを受け入れません。 kubectlのアクションに対応するように設計されており、冒頭に述べたServiceReplicationControllerの作成方法に非常に似ています。

関連する問題