postgresql - 从特定命名空间中删除所有 K8s Pod
问题描述
我想通过 Ansible Play 从特定命名空间中删除所有 pod。在这里,我试图从命名空间“postgres-ns”中删除所有 postgres pod。
我正在使用下面的 ansible play 来删除它:
- name: Unistalling postgres from K8s
block:
- name: Removing Statefulsets & Service from "{{postgres_namespace}}"
action:
shell kubectl -n "{{postgres_namespace}}" delete statefulsets "{{postgres_release_name}}" && kubectl -n "{{postgres_namespace}}" delete service "{{postgres_release_name}}"-service
register: postgres_removal_status
- debug:
var: postgres_removal_status.stdout_lines
但收到此错误:
Error from server (NotFound): statefulsets.apps \"postgres\" not found
这是结果kc -n postgres-ns get all
:
NAME READY STATUS RESTARTS AGE`
`pod/postgres-postgresql-0 1/1 Running 0 57s`
`NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE`
`service/postgres-postgresql ClusterIP 10.108.64.70 <none> 5432/TCP 57s`
`service/postgres-postgresql-headless ClusterIP None <none> 5432/TCP 57s`
`NAME READY AGE`
`statefulset.apps/postgres-postgresql 1/1 57s
有人可以在这里帮助我吗?
提前致谢。
解决方案
Error from server (NotFound): statefulsets.apps \"postgres\" not found
这表示您要删除名称为的状态集postgress
,但从您的get all
命令中,状态集的名称为statefulset.apps/postgres-postgresql
。您需要更新delete statefulsets "{{postgres_release_name}}"-postgresql
或传递正确的postgres_release_name
?
推荐阅读
- swift - Firebase 应用程序分发中的 Swift #IF DEBUG
- javascript - 创建带闭包和不带闭包的私有变量
- perl - 仅当文件已存在时如何打开文件?
- c++ - 将 wstring 转换为字符串的古代代码中的可怕警告
- c# - 保存字典
对于没有 _t 的 MongoDB - javascript - WK Webview history.replaceState 追加到历史
- reactjs - 以编程方式关闭 Material-UI Autocomplete popper 结果
- java - Tomcat需要很长时间才能识别spring-boot应用程序的启动
- reactjs - 反应将数据从子组件发送到父组件
- java - 需要在 Spring Boot App 中设置 Aspose.PDF 许可证