kubeadm(k8s 1.4)を使用してKubernetes nginxコントローラーをデプロイする方法は?

ネイト

AWS + Kubeadm(k8s 1.4)READMEに従ってみました:

https://github.com/kubernetes/contrib/tree/master/ingress/controllers/nginx

しかし、それはうまくいかないようです。私はたるんで周りに尋ねました、そしてyamlsは時代遅れであるようです、それは私がそのように修正しなければなりませんでした

最初に、gitで見つかったyamlを使用してdefault-http-backendをデプロイしました:

https://github.com/kubernetes/contrib/blob/master/ingress/controllers/nginx/examples/default-backend.yaml

次に、ingress-RCiを変更する必要がありました。

https://gist.github.com/lilnate22/5188374

healthz反映するパスを取得するための変更と、スラックに応じて明らかに必要なdefault-backendポートの変更に注意してください10254

すべてが正常に実行されていますkubectl get pods。ingress-controllerがkubectl get rc表示されます。ingress-rcの場合は111が表示されます。

次に、単純なechoheadersアプリケーションをデプロイします(git readmeによる):

kubectl run echoheaders --image=gcr.io/google_containers/echoserver:1.4 --replicas=1 --port=8080
kubectl expose deployment echoheaders --port=80 --target-port=8080 --name=echoheaders-x

次に、簡単な入力を作成しました:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test-ingress
spec:
  backend:
    serviceName: echoheaders-x
    servicePort: 80

両方とも良い兆候get ingdescribe ing示します:

Name:           test-ingress
Namespace:      default
Address:        172.30.2.86   <---this is my private ip
Default backend:    echoheaders-x:80 (10.38.0.2:8080)
Rules:
  Host  Path    Backends
  ----  ----    --------
  * *   echoheaders-x:80 (10.38.0.2:8080)

しかし、「サーバーに到達できません」というメッセージが表示されるため、ノードのパブリックIPにアクセスしようとしても機能しないようです。

ネイト

同じことを考えてここに来たすべての人のためにOK ..これが私がそれを解決した方法です。

PRECURSOR:ドキュメントがあいまいなため、ドキュメントを読むと、READMEを実行するとhttp:// {MY_MASTER_IP}にアクセスしてサービスにアクセスできるという印象を受けましたが、これは正しくありません。

ingress_controllerを取得するには、ingress-controllerのサービスを作成し、を介してそのサービスを公開する必要がありましたnodePortこれにより、echoheadershttp:// {MASTER_IP}:{NODEPORT}を介してサービス(READMEの場合にアクセスできるようになりました。

nodePortには、ランダムなポート番号を取得するという「問題」があります。これは、入力の目的をいくらか無効にします...これを解決するために、次のことを行いました。

まず、より低いnodePortIPを許可するようにkube-apiを編集する必要がありました。

vi /etc/kubernetes/manifests/kube-apiserver.json

次に、kube-apiコンテナの引数セクションに次を追加します。 "--service-node-port-range=80-32767",

これにより、nodePortを80〜32767にすることができます。

**:私はおそらくこれを本番環境に推奨しないでしょう... **

次に、kubectl edit svc nginx-ingress-controllernodePortをポート80に手動で編集しました。

このようにして、{MY_MASTER_IP}に移動してエコーヘッダーにアクセスできます。

今私ができることは、{MY_MASTER_IP}を指し、ホストに基づいて異なるドメインを持っていることです(READMEと同様)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

k8sでは、レプリケーションコントローラーにポッドをデプロイする方法は?

分類Dev

k8sクラスターをデプロイする

分類Dev

Golang k8sクライアントを使用してGKE k8sクラスタにサービスをデプロイする

分類Dev

ヘルムを使用してk8sで削除デプロイメントを強制する方法は?

分類Dev

ヘルムを使用してk8sで削除デプロイメントを強制する方法は?

分類Dev

APIサーバーがsystemdサービスとしてデプロイされているk8sでアドミッションコントローラープラグインを有効にする方法は?

分類Dev

Kubernetes構成バージョンエラー-構成ファイルは古いAPI仕様「kubeadm.k8s.io/v1alpha1」を使用しています

分類Dev

k8s goクライアント:v1.Deploymentタイプを関数に渡す方法

分類Dev

1つのKubernetes入力オブジェクトを使用してトラフィックを異なるクラスター内のk8sサービスにルーティングすることは可能ですか?

分類Dev

K8Sデプロイメントの活性プローブステータスを取得する

分類Dev

c#でkubernetes-clientを使用してk8sデプロイメントを作成するにはどうすればよいですか?

分類Dev

jsonpathを使用して、Windows Powershellの各行でk8sクラスターノード名を1つの名前にする方法は?

分類Dev

k8sのデプロイ履歴を確認する方法は?

分類Dev

K8sイングレス、イングレスコントローラーのnginxエラーを開始しますか?

分類Dev

K8s httpLivenessプローブが1つのワーカーノードで失敗しました

分類Dev

k8s gitlab-ciランナーを介してk8sクラスターに何かをデプロイするにはどうすればよいですか?

分類Dev

AWS EC2のk8sクラスターにコンテナーを正しくデプロイできないのはなぜですか?

分類Dev

SpringCloudスキッパーを使用してk8sにサービス/デプロイ名としてバージョンを追加する理由

分類Dev

Javaアプリ(k8s)からfluentd(k8s)にログを収集する方法

分類Dev

io.k8s.api.core.v1.PodSecurityContextの不明なフィールド「capabilities」(コンテナ/ k8sポッドでtsharkを実行)

分類Dev

Kubernetes(k8s)で、デプロイがレプリカをサポートするのはなぜですか?

分類Dev

Kubeadmを使用してプロキシの背後にKubernetesクラスターをインストールする方法は?

分類Dev

K8sサービスをK8sの外部にあるConsulClusterに同期する方法は?

分類Dev

Spark / k8s:クライアントモードでKubernetesでspark送信を実行する方法

分類Dev

1つの特定のk8sノードでメトリックを取得できません

分類Dev

k8s環境でamqpsrabbitmqプロトコルを外部に公開する方法は?

分類Dev

K8sサービスLBからnginx-ingressコントローラーを使用した外部サービスへ

分類Dev

新しいイメージがDockerレジストリにプッシュされたときに、tektonを使用してk8sクラスターに自動的にデプロイするにはどうすればよいですか?

分類Dev

k8sマスターノードを知る方法は?

Related 関連記事

  1. 1

    k8sでは、レプリケーションコントローラーにポッドをデプロイする方法は?

  2. 2

    k8sクラスターをデプロイする

  3. 3

    Golang k8sクライアントを使用してGKE k8sクラスタにサービスをデプロイする

  4. 4

    ヘルムを使用してk8sで削除デプロイメントを強制する方法は?

  5. 5

    ヘルムを使用してk8sで削除デプロイメントを強制する方法は?

  6. 6

    APIサーバーがsystemdサービスとしてデプロイされているk8sでアドミッションコントローラープラグインを有効にする方法は?

  7. 7

    Kubernetes構成バージョンエラー-構成ファイルは古いAPI仕様「kubeadm.k8s.io/v1alpha1」を使用しています

  8. 8

    k8s goクライアント:v1.Deploymentタイプを関数に渡す方法

  9. 9

    1つのKubernetes入力オブジェクトを使用してトラフィックを異なるクラスター内のk8sサービスにルーティングすることは可能ですか?

  10. 10

    K8Sデプロイメントの活性プローブステータスを取得する

  11. 11

    c#でkubernetes-clientを使用してk8sデプロイメントを作成するにはどうすればよいですか?

  12. 12

    jsonpathを使用して、Windows Powershellの各行でk8sクラスターノード名を1つの名前にする方法は?

  13. 13

    k8sのデプロイ履歴を確認する方法は?

  14. 14

    K8sイングレス、イングレスコントローラーのnginxエラーを開始しますか?

  15. 15

    K8s httpLivenessプローブが1つのワーカーノードで失敗しました

  16. 16

    k8s gitlab-ciランナーを介してk8sクラスターに何かをデプロイするにはどうすればよいですか?

  17. 17

    AWS EC2のk8sクラスターにコンテナーを正しくデプロイできないのはなぜですか?

  18. 18

    SpringCloudスキッパーを使用してk8sにサービス/デプロイ名としてバージョンを追加する理由

  19. 19

    Javaアプリ(k8s)からfluentd(k8s)にログを収集する方法

  20. 20

    io.k8s.api.core.v1.PodSecurityContextの不明なフィールド「capabilities」(コンテナ/ k8sポッドでtsharkを実行)

  21. 21

    Kubernetes(k8s)で、デプロイがレプリカをサポートするのはなぜですか?

  22. 22

    Kubeadmを使用してプロキシの背後にKubernetesクラスターをインストールする方法は?

  23. 23

    K8sサービスをK8sの外部にあるConsulClusterに同期する方法は?

  24. 24

    Spark / k8s:クライアントモードでKubernetesでspark送信を実行する方法

  25. 25

    1つの特定のk8sノードでメトリックを取得できません

  26. 26

    k8s環境でamqpsrabbitmqプロトコルを外部に公開する方法は?

  27. 27

    K8sサービスLBからnginx-ingressコントローラーを使用した外部サービスへ

  28. 28

    新しいイメージがDockerレジストリにプッシュされたときに、tektonを使用してk8sクラスターに自動的にデプロイするにはどうすればよいですか?

  29. 29

    k8sマスターノードを知る方法は?

ホットタグ

アーカイブ