标签: kubernetes-pod

Docker-compose 到 K8s:如何解决“与 Pod 的节点亲和力不匹配”的问题?

这是我在 Hyperledger Fabric 上提出的问题的延续- 从 Docker swarm 迁移到 Kubernetes 可能吗?

在我运行kompose convertdocker-compose 文件后,我获得的文件与我接受的答案中列出的完全一样。然后我按顺序运行以下命令:

$ kubectl apply -f dev-orderer1-pod.yaml
$ kubectl apply -f dev-orderer1-service.yaml
$ kubectl apply -f dev-peer1-pod.yaml
$ kubectl apply -f dev-peer1-service.yaml
$ kubectl apply -f dev-couchdb1-pod.yaml
$ kubectl apply -f dev-couchdb1-service.yaml
$ kubectl apply -f ar2bc-networkpolicy.yaml
Run Code Online (Sandbox Code Playgroud)

当我尝试查看我的 pod 时,我看到了以下内容:

$ kubectl get pod
NAME           READY   STATUS    RESTARTS   AGE
dev-couchdb1   0/1     Pending   0          7m20s
dev-orderer1   0/1     Pending   0          8m25s
dev-peer1      0/1     Pending   0          7m39s
Run Code Online (Sandbox Code Playgroud)

当我尝试描述这三个 pod …

docker-compose kubernetes-pod

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

限制仅某些 Pod 访问服务

我有一个 mosquitto 代理在 pod 上运行,该服务器作为 DNS 和 IP 地址作为服务公开。

但集群中的任何 pod 都可以访问该服务。

我想限制对此服务的访问,以便尝试连接到此 DNS 或 IP 地址的 Pod 只能在具有特定名称/元数据的情况下才能进行。

我想一种解决方案是使用命名空间?还有什么其他解决方案?

kubernetes kube-proxy kubernetes-ingress kubernetes-pod

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

kubernetes 中未指定资源时的默认分配是什么?

以下是kubernetes POD定义

apiVersion: v1
kind: Pod
metadata:
  name: static-web
  labels:
    role: myrole
spec:
  containers:
    - name: web
      image: nginx
      ports:
        - name: web
          containerPort: 80
          protocol: TCP
Run Code Online (Sandbox Code Playgroud)

由于我没有指定资源,因此将分配多少内存和CPU?是否有 kubectl 可以查找为 POD 分配的内容?

kubernetes kubernetes-pod azure-aks

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

当 kubernetes liveness-probe 返回 false 时会发生什么?

当 Kubernetes 返回 false 时会发生什么liveness-probe?Kubernetes 会立即重新启动该 pod 吗?

kubernetes kubernetes-pod livenessprobe

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

在 Kubernetes 中,副本集的真正用途是什么?

我知道 k8s 资源的层次结构顺序。简单来说,

  1. 服务:服务是将应用程序暴露给外部世界(或集群中)的东西。( CluserIp、NodePort、Ingress 等服务 类型与这个问题没有太大关系。)
  2. 部署:部署负责保持一组 Pod 运行。
  3. 副本集:部署反过来依赖副本集来保持 Pod 集运行。
  4. pod: - 一个 pod 由一个容器或一组容器组成
  5. 容器- 实际所需的应用程序在容器内运行。

在这个问题中我想强调的是,为什么我们有replicaset. 为什么不deployment直接处理或负责保持所需数量的 Pod 运行。但deployment反过来又依赖replicset于此。

如果 k8s 是这样设计的,那么肯定会有一些好处replicaset。这就是我想要深入探索/理解的。

kubernetes kubernetes-pod

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

Kubernetes emptyDir 与根本没有卷有什么不同

我有一个使用 root 用户运行一个容器的部署。很明显,/data如果我没有volumeMounts定义任何类型的持久卷,那么我的应用程序保存的所有内容都将是短暂的。

我的问题是指定一个emptyDir卷并将其安装到的目的是什么/data?如果我不使用emptyDir之类的奇特功能medium,或者sizeLimit它与根本不使用卷不一样吗?

kubernetes kubernetes-pod

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

将映像部署到 kubernetes pod 时出错:“http:服务器向 HTTPS 客户端提供了 HTTP 响应”

我有一个 kubernetes 节点,即控制平面,它对于部署 pod 来说是不受污染的。我有一个泊坞窗图像sdmay23-42.ece.iastate.edu:5000/canvas-lti-frontend:v2

\n

我已登录 docker cli。daemon.json 设置为不安全的注册表,我可以通过以下方式进行验证docker info

\n
 Docker Root Dir: /var/lib/docker\n Debug Mode: false\n Username: sdmay2342\n Registry: https://index.docker.io/v1/\n Labels:\n Experimental: false\n Insecure Registries:\n  sdmay23-42.ece.iastate.edu:5000\n  127.0.0.0/8\n Live Restore Enabled: false\n
Run Code Online (Sandbox Code Playgroud)\n

我可以拉图像:

\n
Status: Image is up to date for sdmay23-42.ece.iastate.edu:5000/canvas-lti-frontend:v2\nsdmay23-42.ece.iastate.edu:5000/canvas-lti-frontend:v2\n
Run Code Online (Sandbox Code Playgroud)\n

我可以从图像构建一个容器:

\n
CONTAINER ID   IMAGE                                                    COMMAND                  CREATED         STATUS          PORTS                                       NAMES\nad582a4d514b   sdmay23-42.ece.iastate.edu:5000/canvas-lti-frontend:v2   "docker-entrypoint.s\xe2\x80\xa6"   6 seconds ago   Up 6 seconds    3000/tcp                                    test-frontend\n
Run Code Online (Sandbox Code Playgroud)\n

当我从 yaml 清单将其部署到节点时,出现错误。\n基本清单:

\n
apiVersion: v1\nkind: Pod\nmetadata:\n   name: test-pod\nspec:\n …
Run Code Online (Sandbox Code Playgroud)

deployment image docker kubernetes kubernetes-pod

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

如何在kubernetes集群的Pod之间或节点之间复制文件?

在kubernetes集群中这可能吗?

我发现的所有示例都是从本地磁盘复制到Pod或反之亦然,还是从节点到节点复制的唯一选择,例如通过SSH,SCP或其他实用程序?

cluster-computing kubernetes kubernetes-pod

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

在 v1.12 中提高 k8s 容器的启动阈值

按照此处的文档,我可以像这样设置容器启动的阈值:

startupProbe:
  httpGet:
    path: /healthz
    port: liveness-port
  failureThreshold: 30
  periodSeconds: 10
Run Code Online (Sandbox Code Playgroud)

不幸的是,它似乎startupProbe.failureThreshold与我们当前的 k8s 版本(1.12.1)不兼容:

unknown field "startupProbe" in io.k8s.api.core.v1.Container; if you choose to ignore these errors, turn validation off with --validate=false
Run Code Online (Sandbox Code Playgroud)

有解决方法吗?我想给一个容器大约 40 分钟以上的启动时间。

kubernetes kubernetes-pod kubernetes-container

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

为什么 PodDisruptionBudget 有 minAvailable 和 maxUnavailable 选项?

虽然我在一定程度上理解 minAvailable 和 maxUnavailable 的使用,但我想知道为什么这两个选项似乎是另一个选项的补充时公开。

鉴于 PDB 是不可变的,很少对这些参数进行更改(通过重新部署 PDB)。

有什么我想在这里意识到的吗?

reliability kubernetes kubernetes-pod

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