MongoDB 状态集更新
MongoDB statefulset updating
我正在 GKE
.
上部署 mongodb
ReplicaSet
我的部署有效,但是我想在 Mongo 上启用身份验证。
我已经连接到我的 pod
kubectl exec -it {pod_name} mongo admin
为我的数据库创建了一个管理员用户和一个用户。我当时想我可以用 --auth
标志更新 mongo-statefulset.yaml
并应用更新后的 yaml
.
类似
.....
spec:
terminationGracePeriodSeconds: 10
containers:
- name: mongod-container
image: mongo:3.6
command:
- mongod
- "--bind_ip"
- "0.0.0.0"
- "--replSet"
- rs0
- "--smallfiles"
- "--noprealloc"
- "--auth"
ports:
- containerPort: 27017
volumeMounts:
- name: mongo-persistent-storage
mountPath: /data/db
.....
但是运行 kubectl apply -f mongo-statefulset.yaml
只产生
service/mongo-svc unchanged
statefulset.apps/mongo configured
我应该重新启动我的 pods 以使它现在生效吗?
你可以试试
kubectl delete -f mongo-statefulset.yaml && kubectl apply -f mongo-statefulset.yaml
尝试滚动更新:
RollingUpdate 更新策略将以相反的顺序更新 StatefulSet 中的所有 Pods,同时尊重 StatefulSet 保证。
修补 web StatefulSet 以应用 RollingUpdate 更新策略。
$ kubectl patch statefulset your_statefulset_name -p '{"spec":{...}}}'
不要忘记使用您在 pod 上创建的凭据添加 env 标签,例如:
env:
- name: MONGODB_USERNAME
value: admin
- name: MONGODB_PASSWORD
value: password
希望对您有所帮助。
我正在 GKE
.
mongodb
ReplicaSet
我的部署有效,但是我想在 Mongo 上启用身份验证。
我已经连接到我的 pod
kubectl exec -it {pod_name} mongo admin
为我的数据库创建了一个管理员用户和一个用户。我当时想我可以用 --auth
标志更新 mongo-statefulset.yaml
并应用更新后的 yaml
.
类似
.....
spec:
terminationGracePeriodSeconds: 10
containers:
- name: mongod-container
image: mongo:3.6
command:
- mongod
- "--bind_ip"
- "0.0.0.0"
- "--replSet"
- rs0
- "--smallfiles"
- "--noprealloc"
- "--auth"
ports:
- containerPort: 27017
volumeMounts:
- name: mongo-persistent-storage
mountPath: /data/db
.....
但是运行 kubectl apply -f mongo-statefulset.yaml
只产生
service/mongo-svc unchanged
statefulset.apps/mongo configured
我应该重新启动我的 pods 以使它现在生效吗?
你可以试试
kubectl delete -f mongo-statefulset.yaml && kubectl apply -f mongo-statefulset.yaml
尝试滚动更新: RollingUpdate 更新策略将以相反的顺序更新 StatefulSet 中的所有 Pods,同时尊重 StatefulSet 保证。
修补 web StatefulSet 以应用 RollingUpdate 更新策略。
$ kubectl patch statefulset your_statefulset_name -p '{"spec":{...}}}'
不要忘记使用您在 pod 上创建的凭据添加 env 标签,例如:
env:
- name: MONGODB_USERNAME
value: admin
- name: MONGODB_PASSWORD
value: password
希望对您有所帮助。