小编DT.*_*DT.的帖子

Kubernetes Pod 终止 - 退出代码 137

我需要一些关于 k8s 1.14 和在其上运行 gitlab 管道的问题的建议。许多作业都抛出退出代码 137 错误,我发现这意味着容器突然终止。


集群信息:

Kubernetes 版本:1.14 正在使用的云:AWS EKS 节点:C5.4xLarge


深入挖掘后,我发现了以下日志:

**kubelet: I0114 03:37:08.639450**  4721 image_gc_manager.go:300] [imageGCManager]: Disk usage on image filesystem is at 95% which is over the high threshold (85%). Trying to free 3022784921 bytes down to the low threshold (80%).

**kubelet: E0114 03:37:08.653132**  4721 kubelet.go:1282] Image garbage collection failed once. Stats initialization may not have completed yet: failed to garbage collect required amount of images. Wanted to free 3022784921 bytes, but freed 0 …
Run Code Online (Sandbox Code Playgroud)

linux kubernetes kubernetes-pod amazon-eks

11
推荐指数
5
解决办法
2万
查看次数

kubernetes 中的“Pods”和“Static Pods”之间有什么区别,以及何时选择“静态 Pods”而不是常规 Pods

刚接触 kubernetes 并希望了解使用不同 kubernetes 对象的最佳实践,并且难以理解“Pods”和“静态 Pods”在功能上的主要区别(如果有的话)?

主要问题如下:

问题 1:如果有的话,“Pods”和“Static Pods”在功能上的主要区别是什么?

问题 2:何时选择“静态 Pod”而不是常规 Pod。

kubernetes

8
推荐指数
2
解决办法
4189
查看次数

集群上的 Kubernetes NodePort (Default_range + user_defined_range) 或者它可以只是一个范围

kubernetes 集群上是否可以有 NodePort Default_range + user_define_range 或者它只能是一个范围

我们可以配置为默认范围加上用户定义值的范围吗?就像默认范围是 30000-32767 一样,我们也可以有 40000-41000 的附加范围吗?

希望保留集群中其他应用程序的默认范围,但构建一个特定于我的应用程序的范围。

我已经测试了在范围之外分配端口,它显然失败了,因此范围是硬定义的,想了解是否有任何方法可以拥有两个范围或用户需要使用默认范围或自定义范围(即单个集群中的两个不同范围是不支持 )

ubuntu@cluster-master:~$ kubectl expose deployment nginx --type=NodePort --port=80 --dry-run -o yaml

apiVersion: v1

kind: Service

metadata:

  creationTimestamp: null

  labels:

    run: nginx

  name: nginx

spec:

  ports:

  - port: 80

    protocol: TCP

    targetPort: 80

    nodePort: 40000

  selector:

    run: nginx

  type: NodePort

status:

  loadBalancer: {}
Run Code Online (Sandbox Code Playgroud)
ubuntu@cluster-master:~$ kubectl create -f service.yaml

The Service "nginx" is invalid: spec.ports[0].nodePort: Invalid value: 40000: provided port is not in the valid range. The range …
Run Code Online (Sandbox Code Playgroud)

kubernetes service-node-port-range

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

Pod 处于挂起阶段(错误:FailedScheduling:节点与节点选择器不匹配)

我的其中一个豆荚有问题。它说它处于挂起状态。

如果我描述吊舱,这就是我能看到的:

Events:
  Type     Reason             Age                From                Message
  ----     ------             ----               ----                -------
  Normal   NotTriggerScaleUp  1m (x58 over 11m)  cluster-autoscaler  pod didn't trigger scale-up (it wouldn't fit if a new node is added): 2 node(s) didn't match node selector
  Warning  FailedScheduling   1m (x34 over 11m)  default-scheduler   0/6 nodes are available: 6 node(s) didn't match node selector. 
Run Code Online (Sandbox Code Playgroud)

如果我检查日志,那里什么都没有(它只是输出空值)。

--- 更新 --- 这是我的 pod yaml 文件

apiVersion: v1
kind: Pod
metadata:
  annotations:
    checksum/config: XXXXXXXXXXX
    checksum/dashboards-config: XXXXXXXXXXX
  creationTimestamp: 2020-02-11T10:15:15Z
  generateName: grafana-654667db5b-
  labels:
    app: …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubectl kubernetes-helm helmfile

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

kubernetes 部署中的 emptyDir 与 hostPath 卷类型使用情况

在 kubernetes 部署上使用 emptyDir 与 hostPath(和其他)卷类型

从官方文档中可以看出,当将emptyDir与POD一起使用时。 容器崩溃不会从节点中删除 Pod,因此,emptyDir 卷中的数据在容器崩溃时是安全的

所以我想知道我们是否可以使用emptyDir卷类型以及(节点选择器/亲和性)使用强制POD固定到给定节点,以某种方式强制POD的内容在升级(推出)时保留? 或 hostPath (或其他卷类型)是我们在设计时需要考虑的,以确保即使在重新创建 POD 的转出过程中数据也能持久保存,而不管节点固定如何(我们可以灵活地将此应用程序固定到集群中的大型节点)

kubernetes

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