2016-06-14 7 views
1

httpsでapacheサーバーを使用してWebアプリケーションを作成し、letsencryptを使用して証明書ファイルを生成しました。私はすでにcert.pem,chain.pemfullchain.pem、およびprivkey.pemがホストマシンに保存されていることを確認しました。しかし、私はそれらをポッドにマップすることはできません。エラーログは言うKubernetes:hostPathボリュームがマウントされない

apiVersion: v1 
kind: ReplicationController 
metadata: 
    labels: 
    name: web 
    name: web-controller 
spec: 
    replicas: 2 
    selector: 
    name: web 
    template: 
    metadata: 
     labels: 
     name: web 
    spec: 
     containers: 
     - image: <my-wen-app-image> 
     command: ['/bin/sh', '-c'] 
     args: ['sudo a2enmod ssl && service apache2 restart && sudo /usr/sbin/apache2ctl -D FOREGROUND'] 
     name: web 
     ports: 
     - containerPort: 80 
      name: http-server 
     volumeMounts: 
      - mountPath: /usr/local/myapp/https 
      name: test-volume 
      readOnly: false 
     volumes: 
     - hostPath: 
      path: /etc/letsencrypt/live/xxx.xxx.xxx.edu 
      name: test-volume 

kubectl create -f web-controller.yaml後:

AH00526: Syntax error on line 8 of /etc/apache2/sites-enabled/000-default.conf: 
SSLCertificateFile: file '/usr/local/myapp/https/cert.pem' does not exist or is empty 
Action 'configtest' failed. 

私は問題は、証明書がコンテナ内にマッピングされていないということだと思う理由です。ここweb-controller.yamlファイルです。

誰でも私にこれを助けることができますか?どうもありがとう!

+1

'/ usr/local/myapp/https'にファイルがありますか?そこにフォルダはありますか? SSL設定をコメントアウトして、実際にポッドを実行させてから、 'kubectl exec -it $(kubectl get pods -l name = web -o name | cut -d/-f 2)sh'を使ってシェルとテスト。 – kichik

答えて

0

私はそれを考え出した:私は、これはおそらく、根本的な原因ではありませんが、それが動作するようになりまし/etc/letsencrypt/live/hostにそれをマウントする必要がなく、/usr/local/myapp/https

+1

私はまたいくつかの問題を抱えている、私はポッドで作成されたフォルダを見ることができますが、そこに私のホストからファイルがありません。理由はありますか?または上から離れたソリューション –

関連する問題