标签: kubernetes-pod

Kubernetes:如何在 pod nodeAffinity 中使用 Gt 运算符

我正在浏览 Kubernetes 文档以了解节点关联性和匹配表达式。在其他运算符中,它列出了 Gt 和 Lt(我认为它们分别是大于和小于的缩写)。我正在考虑如何使用它们或者什么可能是它们的有效用例,但想不出任何。

您能告诉我 Gt 和 Lt 在节点关联中使用的可能用例是什么以及我将如何使用它们吗?

kubernetes kubernetes-pod

2
推荐指数
1
解决办法
1198
查看次数

出现错误 PodSpec.containers:得到“map”,期望“array”或 Container.volumeMounts:得到“map”,期望“array”;

我正在尝试开始部署,但收到此错误

error: error validating "httpd-basic-deployment.yaml": error validating data: ValidationError(Deployment.spec.template.spec.containers): invalid type for io.k8s.api.core.v1.PodSpec.containers: got "map", expected "array"; if you choose to ignore these errors, turn validation off with --validate=false
Run Code Online (Sandbox Code Playgroud)

以下 pod 定义文件:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ebay-app
spec:
  selector:
    matchLabels:
        environment: dev
        app: ebay
  replicas: 1
  template:
    metadata:
      labels:
        environment: dev
        app: ebay
    spec:

      volumes:
        - name: volume
          hostPath:
            path: /mnt/data

      containers:
        name: container1-nginx
        image: nginx
        volumeMounts:
           name: volume
           mountPath: /var/nginx-data

        name: container2-tomcat
        image: tomcat
      nodeSelector:
        boardType: x86vm …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-pod

2
推荐指数
1
解决办法
6449
查看次数

我们可以在已经运行的 Kubernetes pod 中运行可执行 jar 文件吗?

我需要执行为我的应用程序编写的诊断程序。该应用程序正在 Kubernetes Pod 中运行/部署。我想在 Kubernetes pod 中复制诊断可执行 jar 文件并在不停止 pod 的情况下执行它。如何才能实现这一目标?是否有特定的方法来使用 Kubernetes pod 环境运行可执行 jar?

java jar executable-jar kubernetes kubernetes-pod

2
推荐指数
1
解决办法
6617
查看次数

Kubernetes - ReplicaSet 与 PodDisruptionBudget

我想知道 PodDisruptionBudget 能带来什么附加值。

据我了解,PodDisruptionBudget 承诺一定数量的节点将始终保留在集群中,同时有 2 个选项来决定如何保留:minAvailable / maxUnavailable。

现在,当我定义 ReplicaSet 时,我定义了我想要的副本数量。因此,如果我定义 2 个,则副本数不会少于 2 个。那么 PodDisruptionBudget 是由什么给出的呢?

replicaset kubernetes kubernetes-pod

2
推荐指数
1
解决办法
2953
查看次数

kubectl 等待 pod 消失(终止)

我知道我可以用来kubectl wait检查 pod 是否存在,Ready但是有没有一种简单的方法来检查 pod 是否消失或处于Terminating状态?我正在运行一些测试,并且只想在 pod(或与此相关的命名空间)完全消失时继续。

超时选项也会派上用场。

kubernetes kubectl kubernetes-pod

2
推荐指数
1
解决办法
7994
查看次数

GCP GKE Google Kubernetes Engine 与服务器 localhost:8080 的连接被拒绝

我正在尝试 GCP 和 GKE 谷歌 kubernetes 引擎。1-)我正在创建一个集群 2-)我打开了cloud shell并使用了命令“kubectl getnodes”

我收到此错误:“与服务器 localhost:8080 的连接被拒绝 - 您指定了正确的主机或端口吗?”

我该如何解决。谢谢。

google-cloud-storage google-cloud-platform kubernetes google-kubernetes-engine kubernetes-pod

2
推荐指数
1
解决办法
2303
查看次数

错误杀死 Pod:设备或资源繁忙时无法“KillPodSandbox”

当我想重新启动 kubernetes( v1.21.2) statefulset pod 时,pod 处于终止状态,日志显示如下:

error killing pod: failed to "KillPodSandbox" for "8aafe99f-53c1-4bec-8cb8-abd09af1448f" with KillPodSandboxError: "rpc error: code = Unknown desc = failed to check network namespace closed: remove netns: unlinkat /var/run/netns/cni-f9ccb1de-ed43-dff6-1b86-1260e07178e6: device or resource busy"
Run Code Online (Sandbox Code Playgroud)

Pod 终止了几个小时但仍然卡住。为什么会发生这种情况?我应该怎么做才能解决这个问题?

kubernetes kubernetes-pod

2
推荐指数
1
解决办法
9456
查看次数

与服务背后的所有Kubernetes Pod通信

将信息传递到服务背后抽象的所有Pod的最佳方法是什么?为简单起见,假设有一个实体会在随机时间生成信息,以供吊舱使用,并且所有吊舱都应尽早使用该信息。

我当时想POST在信息生成时对服务进行休息,以使该服务后面的所有pod都接收到数据。但是,k8s服务不能保证已将其传达给所有Pod。

另外,我可以考虑存储来自生产者的信息,并让每个吊舱从存储中提取信息。但是还有其他更好的方法吗?谢谢!

kubernetes kubectl kubernetes-ingress kubernetes-pod

1
推荐指数
1
解决办法
66
查看次数

同时运行两个Kubernetes仪表板

是否可以在两个不同的Shell中本地运行两个Kubernetes仪表板?我想同时查看两个不同的群集,但是,我遇到了仪表板端口的问题。

  1. 在第一个集群上打开仪表板
  2. 打开新的外壳并将上下文切换到第二个群集
  3. 在第二个集群上打开仪表板

我创建了第一个仪表板,如下所示:

$ kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
$ kubectl proxy
Starting to serve on 127.0.0.1:8001
Run Code Online (Sandbox Code Playgroud)

我打开了一个新的外壳,并将上下文更改为接收错误的新集群:

$ listen tcp 127.0.0.1:8001: bind: address already in use
Run Code Online (Sandbox Code Playgroud)

我知道为什么会这样,但是我不确定如何缓解这个问题。

此外,当我将第二个群集的仪表板的端口更改为8002时,如果不渲染一个页面,将无法实时查看两个页面。 Internal Server Error (500): square/go-jose: error in cryptographic primitive

我已切换到隐身模式,添加了一个Chrome配置,以从localhost:8001和localhost:8002擦除/忽略浏览器cookie,但是,当我登录时,我在Chrome控制台中收到以下错误:

Possibly unhandled rejection: {  
"data":"MSG_LOGIN_UNAUTHORIZED_ERROR\n",
"status":401,
"config":{  
  "method":"GET",
  "transformRequest":[  
     null
  ],
  "transformResponse":[  
     null
  ],
  "jsonpCallbackParam":"callback",
  "url":"api/v1/rbac/status",
  "headers":{  
     "Accept":"application/json, text/plain, */*"
  }
},
  "statusText":"Unauthorized",
  "xhrStatus":"complete",
  "resource":{ …
Run Code Online (Sandbox Code Playgroud)

kubernetes google-kubernetes-engine kubernetes-pod

1
推荐指数
1
解决办法
82
查看次数

kube-system 命名空间中的 pod 是如何管理的?

我试图了解 kubernetes 是如何工作的,所以我尝试为我的 minikube 执行此操作:

~ kubectl delete pod --all -n kube-system
pod "coredns-f9fd979d6-5n4b6" deleted
pod "etcd-minikube" deleted
pod "kube-apiserver-minikube" deleted
pod "kube-controller-manager-minikube" deleted
pod "kube-proxy-879lg" deleted
pod "kube-scheduler-minikube" deleted
Run Code Online (Sandbox Code Playgroud)

没关系。根据需要删除了 Pod。但如果我这样做,kubectl get pods -n kube-system我会看到:

NAME                               READY   STATUS    RESTARTS   AGE
coredns-f9fd979d6-5d25r            1/1     Running   0          50s
etcd-minikube                      1/1     Running   0          50s
kube-apiserver-minikube            1/1     Running   0          50s
kube-controller-manager-minikube   1/1     Running   0          50s
kube-proxy-nlw69                   1/1     Running   0          43s
kube-scheduler-minikube            1/1     Running   0          49s
Run Code Online (Sandbox Code Playgroud)

好的。我以为是 ReplicaSet 或 DaemonSet:

?  ~ kubectl …
Run Code Online (Sandbox Code Playgroud)

kubernetes minikube kubernetes-pod

1
推荐指数
1
解决办法
125
查看次数