我们正在使用kubernetes来部署我们的微服务,在生产模式下我们将无法直接访问kubernetes,所以有没有办法执行操作,比如使用rest api调用删除pod或通过http请求执行任何操作。
我们需要删除一个pod或其副本集以强行重启pod。
就像我们访问远程kubernetes并在运行时删除特定的pod一样
答案 0 :(得分:0)
是的,设置RBAC。
您需要关注:
然后使用给定的Serivce Account令牌,您可以使用kubectl
或对k8s apiserver的实际REST调用来删除。
答案 1 :(得分:0)
如果您没有获得访问kubectl命令或API的权限,您应该在容器上实现活动探测。
https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
这可以完全用微软服务中的软件完成。如果您的申请不再“好”,则活动检查应该失败。您可以将活动检查与您可以手动创建的系统条件相结合(数据库中的“restart_request”字段设置为1,文件存在或者类似于此)
这样,您可以手动重启容器,如果停止正常运行,k8s会为您重新启动容器。