KubernetesでStatefulSetとしてVaultを実行しようとしています。KubernetesのStatefulSetとしてのHashicorp Vault
私はこれに基づいて作業領事クラスタを持っている: https://github.com/kelseyhightower/consul-on-kubernetes
私のSTSは、Vaultのファイルには、次のようになります。
kind: StatefulSet
metadata:
name: vault
spec:
serviceName: vault
replicas: 2
template:
metadata:
labels:
app: vault
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- vault
topologyKey: kubernetes.io/hostname
containers:
- name: vault
image: "vault:0.9.0"
ports:
- containerPort: 8200
name: http
- containerPort: 8201
name: backend
args:
- "server -config=/vault/config/vault-server.json"
securityContext:
capabilities:
add:
- IPC_LOCK
volumeMounts:
- name: config
mountPath: /vault/config
- name: tls
mountPath: /etc/tls
volumes:
- name: config
configMap:
name: vault
- name: tls
secret:
secretName: vault
私の設定ファイルは、ときにこの
{
"disable_mlock": true,
"listener": [
{
"tcp": {
"tls_disable": true
}
}
],
"storage": {
"consul": {
"address": "consul.default.svc.cluster.local:8500",
"path": "vault",
"token": "7e21f292-e7e7-f879-210c-4af2ae483cac"
}
}
}
のように見えますステートフルセットを適用すると、バインドエラーが発生する
Error initializing listener of type tcp: listen tcp 127.0.0.1:8200: bind: address already in use
127.0.0.1と0.0.0.0のリスナを別のポートで追加しようとしました。ポッドは、私が無効にするまでTLSの警告を受け取っていたので、設定ファイルを読み込んでいます。
ポッドのローカルホストにバインドされているものについてのアイデアはありますか?任意のトラブルシューティングのヘルプは問題がドッカーコンテナた
を学ぶことがあり、これは生産準備の例ではありませんのでご注意ください-p 8200:8200 -p 8201:8201ボールト:0.9.0サーバー-config = /と/それはあなたの期待通りに始まりますか? –
あなたはすべてのポッドにそのエラーを表示しますか?すべての時間、または断続的に? –
また、 '' disable_mockock ''を持つのはちょっと変わっています:本当に、 '' IPC_LOCK'が明示的に与えられているときはtrueですが、バインドに関する質問とは何の関係もありません) –