相关疑难解决方法(0)

Pod陷入终止状态

我厌倦了删除一个带有12个pod的复制控制器,我可以看到一些pod停留在终止状态.我的Kubernetes设置包括在ubuntu vms中安装的一个主机和三个minons.这个问题可能是什么原因?

NAME        READY     STATUS        RESTARTS   AGE
pod-186o2   1/1       Terminating   0          2h
pod-4b6qc   1/1       Terminating   0          2h
pod-8xl86   1/1       Terminating   0          1h
pod-d6htc   1/1       Terminating   0          1h
pod-vlzov   1/1       Terminating   0          1h
Run Code Online (Sandbox Code Playgroud)

kubernetes

189
推荐指数
17
解决办法
10万
查看次数

用于删除所有kubernetes名称空间中的所有pod的命令

在查看文档时,有一个api调用删除'a'pod,有没有办法杀死所有命名空间中的所有pod?

rest kubernetes

111
推荐指数
7
解决办法
12万
查看次数

如何在Mac OS X上使用GNU sed

在Mac OS 10.10.3下,我通过输入以下命令安装了gnu-sed:

brew install gnu-sed --default-names
Run Code Online (Sandbox Code Playgroud)

当我再次输入时,我收到消息:

已经安装了gnu-sed-4.2.2

但是,即使重新启动系统并重新启动终端,我仍然无法使用sed的GNU版本.例如:

echo a | sed ’s_A_X_i’
Run Code Online (Sandbox Code Playgroud)

返回:替换命令'i'中的坏标志

我该怎么做才能让GNU版本正常工作?以下是$ PATH变量中的路径.

/Users/WN/-myUnix
/opt/local/bin
/opt/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/Applications/calibre.app/Contents/MacOS
/opt/ImageMagick/bin
/usr/texbin 
Run Code Online (Sandbox Code Playgroud)

如果我的问题看起来很明显,我很抱歉,但我自己学习shell脚本,并且还不太了解UNIX程序的安装方式.任何帮助使用GNU兼容命令(在这种情况下sed,但很快我也需要其他人)在我的Mac上不会造成损害或不必要的混乱将非常感激.

macos bash homebrew gnu sed

84
推荐指数
5
解决办法
6万
查看次数

命名空间“卡住”为终止

我在终止集群中的命名空间时遇到问题,它在命名空间 JSON 中显示了许多参数。我点击了此链接https://medium.com/@craignewtondev/how-to-fix-kubernetes-namespace-deleting-stuck-in-termination-state-5ed75792647e

 "spec": {},
    "status": {
        "conditions": [
            {
                "lastTransitionTime": "2021-01-11T08:41:48Z",
                "message": "All resources successfully discovered",
                "reason": "ResourcesDiscovered",
                "status": "False",
                "type": "NamespaceDeletionDiscoveryFailure"
            },
            {
                "lastTransitionTime": "2021-01-11T08:41:48Z",
                "message": "All legacy kube types successfully parsed",
                "reason": "ParsedGroupVersions",
                "status": "False",
                "type": "NamespaceDeletionGroupVersionParsingFailure"
            },
            {
                "lastTransitionTime": "2021-01-11T08:41:48Z",
                "message": "All content successfully deleted, may be waiting on finalization",
                "reason": "ContentDeleted",
                "status": "False",
                "type": "NamespaceDeletionContentFailure"
            },
            {
                "lastTransitionTime": "2021-01-11T08:42:09Z",
                "message": "All content successfully removed",
                "reason": "ContentRemoved",
                "status": "False",
                "type": "NamespaceContentRemaining"
            },
            {
                "lastTransitionTime": "2021-01-11T08:41:48Z", …
Run Code Online (Sandbox Code Playgroud)

namespaces kubernetes rancher amazon-eks

12
推荐指数
3
解决办法
2万
查看次数

如何强制删除Kubernetes命名空间?

如何强制删除停留在终止中的命名空间?

重建步骤:

  1. 应用此YAML
apiVersion: v1
kind: Namespace
metadata:
  name: delete-me
spec:
  finalizers:
    - foregroundDeletion
Run Code Online (Sandbox Code Playgroud)
  1. kubectl delete ns delete-me

  2. 无法删除delete-me

我发现的唯一解决方法是销毁并重新创建整个集群。

我尝试过的事情:

这些都不起作用或修改命名空间。在所有这些之后,有问题的终结器仍然存在。

编辑YAML并 kubectl apply

应用:

apiVersion: v1
kind: Namespace
metadata:
  name: delete-me
spec:
  finalizers:
Run Code Online (Sandbox Code Playgroud)
$ kubectl apply -f tmp.yaml 

namespace/delete-me configured
Run Code Online (Sandbox Code Playgroud)

该命令无错误地结束,但是名称空间未删除。

下面的YAML具有相同的结果:

apiVersion: v1
kind: Namespace
metadata:
  name: delete-me
spec:
Run Code Online (Sandbox Code Playgroud)

kubectl edit

kubectl edit ns delete-me,然后删除终结器。同上完全删除列表。同上删除spec。同上替换finalizers为空列表。

$ kubectl edit ns delete-me 

namespace/delete-me edited
Run Code Online (Sandbox Code Playgroud)

这不会显示任何错误信息,但不会更新命名空间。kubectl edit再次查看该对象将显示终结器仍然存在。

kubectl proxy &

  • kubectl …

kubernetes kubernetes-namespace

6
推荐指数
4
解决办法
3172
查看次数

Kubernetes命名空间处于终止状态

我们有一个集群,看来似乎永远都不想完全删除名称空间,现在无法重新创建自定义指标名称空间以能够收集自定义指标以正确设置HPA。我完全理解,我可以使用所有自定义指标资源创建另一个名称空间,但是由于名称空间陷入了“终止”状态,因此与集群的整体运行状况有些关系

$ kubectl get ns
NAME             STATUS        AGE
cert-manager     Active        14d
custom-metrics   Terminating   7d
default          Active        222d
nfs-share        Active        15d
ingress-nginx    Active        103d
kube-public      Active        222d
kube-system      Active        222d
lb               Terminating   4d
monitoring       Terminating   6d
production       Active        221d
Run Code Online (Sandbox Code Playgroud)

我已经尝试将名称空间导出为JSON,删除终结器并使用已编辑的JSON文件重新创建。还尝试kubectl编辑ns自定义指标并删除“-kubernetes”终结器。一切都无济于事。

是否有人对我如何可以销毁这些“卡住”的命名空间有其他建议?

卷曲到https://master-ip/api/v1/namespace/...../finalize对我来说似乎不适用于Google Kubernetes Engine,我假设在GKE集群上不允许这些操作

尝试类似的事情也不起作用:

$ kubectl delete ns custom-metrics --grace-period=0 --force
Run Code Online (Sandbox Code Playgroud)

警告:立即删除不会等待确认正在运行的资源已终止。资源可能会无限期地继续在群集上运行。服务器错误(冲突):无法在名称空间“自定义指标”上执行操作:系统正在确保从该名称空间中删除所有内容。完成后,该名称空间将由系统自动清除。

并且此命名空间中根本没有列出任何资源: kubectl get all -n custom-metrics或者循环访问此命名空间中的所有api资源都表明根本不存在任何资源: kubectl api-resources --namespaced=true -o name | xargs -n 1 kubectl get -n custom-metrics

kubernetes

5
推荐指数
4
解决办法
6218
查看次数