私はkopsを使用してAWSにデプロイしたKubernetesクラスタのためのnginx-ingress-controllerの設定に関するこのチュートリアルに従っています。nginx-ingress-controller用の有効なNGINXテンプレートを探していますか? (Kubernetes)
https://daemonza.github.io/2017/02/13/kubernetes-nginx-ingress-controller/
私は-f ./nginx-ingress-controller.ymlを作成kubectl を実行すると、ポッドが作成されますが、エラー出力されます。私が言うことができるものから、問題はnginxの入controller.ymlの以下の部分である:ポッドに示す
volumes:
- name: tls-dhparam-vol
secret:
secretName: tls-dhparam
- name: nginx-template-volume
configMap:
name: nginx-template
items:
- key: nginx.tmpl
path: nginx.tmpl
エラー:
MountVolume.SetUpに失敗しました"nginx-template-volume"の設定はありません。
このチュートリアルではコントローラを作成する前にこのconfigmapを作成していないので、これは意味があります。私は私が使用してconfigmapを作成する必要があることを知っている:
は、私がやった= nginx.tmpl = nginx.tmpl
configmap nginxのテンプレート--from-ファイルを作成kubectlこのnginx.tmplを使用してファイルがソースlike thisから見つかりましたが、動作していないようです(常に無効なNGINXテンプレートエラーで失敗します)。例をログ:
I1117 16:29:49.344882 1 main.go:94] Using build: https://github.com/bprashanth/contrib.git - git-92b2bac
I1117 16:29:49.402732 1 main.go:123] Validated default/default-http-backend as the default backend
I1117 16:29:49.402901 1 main.go:80] mkdir /etc/nginx-ssl: file exists already exists
I1117 16:29:49.402951 1 ssl.go:127] using file '/etc/nginx-ssl/dhparam/dhparam.pem' for parameter ssl_dhparam
F1117 16:29:49.403962 1 main.go:71] invalid NGINX template: template: nginx.tmpl:1: function "where" not defined
使用した画像のバージョンがかなり古いですが、私は運と新しいバージョンを試してみました。
containers:
- name: nginx-ingress-controller
image: gcr.io/google_containers/nginx-ingress-controller:0.8.3
This thread私の問題に似ていますが、私は非常に提案されたソリューションを理解していません。どこから使用可能なテンプレートを抽出するためにdocker cpを使用しますか? Dockerと互換性のない言語/構文を使用しているテンプレートのようです...?
これは私のトリックでした...ありがとう!私はnginx-ingress-controller.ymlの全ての行をコメントアウトする必要がありました(これは、テンプレートを生成するためにexecコマンドを実行できるように、この許可されたコンテナが正しく実行される)。一度nginx.tmplファイルを生成すると、私はこれらの行のコメントを外し、コンテナはエラーなしで表示されました! – swin12