Podman:如何解析使用 Kubernetes YAML 部署的 pod 的主机名

2024-05-08

我正在使用 podman 4.5-dev 我使用以下方式部署了两个 Pod:podman kube 播放 foo.yaml podman kube play bar.yaml

我在文件中指定了 pod 的主机名,但它们不会在容器内得到解析。 我验证了 Pod 位于同一网络中。

是否缺少某些 DNS 配置?我应该使用服务吗?官方文档缺乏关于这个主题的准确指示

这是两个 pod 之一的 YAML(另一个具有相同的键和不同的值):

apiVersion: v1
kind: Pod
metadata:
  labels:
    app: postgres
  name: postgres
spec:
  hostname: postgres
  containers:
  - name: pgadmin-container
    image: docker.io/dpage/pgadmin4:latest
    ports:
    - containerPort: 80
      hostPort: 9876

以下是一些可能有用的终端输出:

[daniele@localhost]$ podman pod inspect xptssrv |grep -ni network
25:          "HostNetwork": false,
34:          "Networks": [
35:               "podman-default-kube-network"
37:          "NetworkOptions": null,


[daniele@localhost]$ podman pod inspect postgres |grep -ni network
25:          "HostNetwork": false,
34:          "Networks": [
35:               "podman-default-kube-network"
37:          "NetworkOptions": null,



[daniele@localhost]$ podman network inspect podman-default-kube-network |grep "" -n
1:[
2:     {
3:          "name": "podman-default-kube-network",
4:          "id": "a4dcf21f020ee4e36651c11256cbe884182552e835eaaafd409153cd21dca4cc",
5:          "driver": "bridge",
6:          "network_interface": "cni-podman1",
7:          "created": "2023-02-21T23:03:25.800256942+01:00",
8:          "subnets": [
9:               {
10:                    "subnet": "10.89.0.0/24",
11:                    "gateway": "10.89.0.1"
12:               }
13:          ],
14:          "ipv6_enabled": false,
15:          "internal": false,
16:          "dns_enabled": false,
17:          "ipam_options": {
18:               "driver": "host-local"
19:          }
20:     }
21:]

[daniele@localhost pods]$ podman exec  xptssrv-xptssrv-container cat /etc/resolv.conf 
nameserver 192.168.1.6
nameserver 8.8.8.8


编辑您的网络设置/etc/containers/net.d/podman-default-kube-network.conflist改变这一行

"dns_enabled": false,

To this:

"dns_enabled": true,

然后重新启动并启动您的 yaml 并尝试解决此问题:

postgres_pgadmin-container_1

或者也许是这样的:

postgres_postgres_1

Edit1

只需复制配置文件:

sudo cp /usr/share/containers/containers.conf /etc/containers/containers.conf

然后在文件中使用以下命令将网络后端更改为 netavark:

sed -i "/^\s*\#*\s*network_backend\s*=.*$/ s/^.*$/network_backend = \"netavark\"/" /etc/containers/containers.conf

Notice:我认为最好重新启动系统才能应用更改。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Podman:如何解析使用 Kubernetes YAML 部署的 pod 的主机名 的相关文章

  • 检查 Kubernetes 资源 CronJob 的日志

    我创建了一个CronJob https kubernetes io docs concepts workloads controllers cron jobs Kubernetes 中的资源 我想检查日志以验证我的 cron 是否正在运行
  • 我应该在 Kubernetes 前面添加 DMZ 吗?

    Kubernetes Ingress 是否足够安全 可以避免在 Kubernetes 前面添加 DMZ 来暴露 Pod 和服务 如果有人 黑进 Pod 会发生什么 Thanks 这是一个意见问题 所以我会用一个选项来回答 如果您遵循 这是非
  • 应用程序网关如何防止请求发送到最近终止的 Pod?

    我目前正在 Azure 中研究和试验 Kubernetes 我正在使用 AKS 和应用程序网关入口 据我了解 当 Pod 添加到服务时 端点会更新 入口控制器会不断轮询此信息 随着新端点的添加 AG 也会更新 当它们被移除时 AG 也被更新
  • Spring Boot 3 网关显示 503 service_unavailable

    我得到了一个NotFoundException 503 SERVICE UNAVAILABLE网关服务器日志中出现异常 我在 Docker 容器中运行微服务 我有一个auth service处理身份验证和 Jwt 的微服务 我可以使用 Po
  • Kubernetes Pod 中的日志未显示

    我在 pod 中设置了 Kubernetes 并运行 grpc 服务 我成功命中服务上的端点 其中有 print 语句 但我在日志文件中没有看到任何日志 我之前在 Kubernetes 中运行 cron 作业时见过这种情况 并且日志仅在作业
  • Azure AKS 应用程序网关 502 错误网关

    我一直在关注这里的教程 MS Azure https learn microsoft com en us azure application gateway tutorial ingress controller add on new co
  • 为什么ReadWriteOnce在不同的节点上工作?

    我们在 K8s 上运行的平台有不同的组件 我们需要在其中两个组件 comp A 和 comp B 之间共享存储 但我们错误地将 PV 和 PVC 定义为ReadWriteOnce即使这两个组件在不同的节点上运行 一切都正常 我们能够从两个组
  • 容器上的“container_memory_working_set_bytes”指标和 OOM-killer 之间有什么关系?

    我试图找出并理解 OOM killer 如何在容器上工作 为了弄清楚这一点 我读了很多文章 发现 OOM killer 会根据oom score And oom score是由oom score adj以及该进程的内存使用情况 有两个指标c
  • 如何从 minikube 中删除现有下载的 docker 镜像

    我正在将多个服务部署到本地集群 minikube using 开发空间工具 https devspace sh 一旦有人对其中一项服务进行更改并将图像推送到我们的私人存储库 我就需要这些更改在我的本地可用 我现在所做的就是完全删除minik
  • Istio:RequestAuthentication jwksUri 无法解析内部服务名称

    Notice 其根本原因与Istio 当我启用 JWT RequestAuthentication 时 运行状况检查 sidecar 失败 https stackoverflow com questions 66446178 istio h
  • Kubernetes 服务 IP 会变化吗?

    我对 kubernetes docker 非常陌生 所以如果这是一个愚蠢的问题 我深表歉意 我有一个正在访问一些服务的 Pod 在我的容器中 我正在运行 python 脚本并需要访问该服务 目前我正在使用服务的 IP 地址来执行此操作 服务
  • kubectl 部署失败

    我正在为 GKE 上的 Spring boot 应用程序设置 CI CD 管道 CI 构建步骤工作正常 但交付构建步骤由于 错误 没有对象传递到应用 错误而失败 我可以在云构建中看到以下日志 Starting Step 0 Deploy S
  • 微服务安全

    在过去的几天里 我一直在研究微服务模式 一切都很顺利 但安全性似乎让我感到困惑 所以如果我可以问一个问题 如何处理单个服务的用户身份验证 目前我向Gateway API进而连接到该服务 罢工 gt 问题已编辑 请参见下文 请记住 各个服务不
  • 无法连接到代理“证书由未知机构签名”

    我正在尝试通过 Kubernetes 部署上的 cloudsql proxy 容器连接到 CloudSQL 实例 我已安装 cloudsql 凭据以及值GOOGLE APPLICATION CREDENTIALS set 但是 我的日志中仍
  • 带有 Helm Charts 的蓝绿部署

    我们可以使用 Helm Charts 来部署应用程序 helm install name the release helm the service helm namespace myns 而我们冷 滚动升级 部署使用 helm upgrad
  • 在 Windows 容器中使用命名管道(同一主机)

    我想要有 2 个 Windows 容器 在同一主机上运行 使用 Windows 10 客户端计算机和 Windows 的 docker 通过命名管道 不是匿名管道 进行通信 然而 我无法让它发挥作用 我的命名管道服务器类是在 GitHub
  • Kubernetes,无法访问其他节点服务

    我正在 3 个带有 CentOS 7 的 VirtualBox 虚拟机 1 个 master 和 2 个 minions 中使用 Kubernetes 不幸的是安装手册说的是这样的every service will be accessib
  • 如何使用 kubeadm 升级来更改 kubeadm-config 中的某些功能

    我想在现有的 kubernetes 集群 v1 10 上安装 kube prometheus 在此之前 文档说我需要将控制器 调度器的IP地址从127 0 0 1 to 0 0 0 0 并且还推荐使用kubeadm 配置升级 https k
  • Ingress 未在 GKE 和 GCE 上获取地址

    创建入口时 不会生成地址 并且从 GKE 仪表板查看时 它始终位于Creating ingress地位 描述入口没有显示任何事件 我在 GKE 仪表板上看不到任何线索 有没有人有类似的问题或关于如何调试的任何建议 我的部署 yaml api
  • 我如何知道 k8s 中的网络策略覆盖了哪些 pod

    我有一个用例 我想检查网络策略覆盖哪些 pod 现在我的重点只是 k8s 生成的网络策略 做到这一点最简单的方法是什么 我知道我们可以检查每个网络策略并从那里过滤掉 pod 但是网络策略可以有多种使用 pod 过滤的方式 我不确定是否有办法

随机推荐