当前位置: 首页 > 知识库问答 >
问题:

部署dhcpd服务器

祝花蜂
2023-03-14

我正在尝试在库伯内特斯集群的pod中部署DHCP服务器。我创建了以下资源:

$cat dhcpd部署。亚马尔


kind: Deployment
metadata:
  name: dhcpd
  namespace: kube-mngt
spec:
  selector:
    matchLabels:
      app: dhcpd
  replicas: 1
  template:
    metadata:
      labels:
        app: dhcpd
    spec:
      nodeSelector:
        kubernetes.io/hostname: neo1
      containers:
      - name: dhcpd
        image: 10.0.100.1:5000/dhcpd:latest
        volumeMounts:
        - name: dhcpd-config
          mountPath: /etc/dhcp
      volumes:
        - name: dhcpd-config
          persistentVolumeClaim:
            claimName: dhcpd-config-volume-claim

创建dhcpd-deployment.yaml

$catdhcpd-service.yaml

apiVersion: v1

kind: Service
metadata:
  name: dhcpd
  namespace: kube-mngt
spec:
  selector:
    app: dhcpd
  ports:
  - name: dhcp
    protocol: UDP
    port: 67
    targetPort: 67

$kubectl create-f dhcpd服务。亚马尔

pod和服务的所有内容都已成功创建,但不幸的是,DHCPD pod在UDP端口67上没有接收任何数据包。

我错过什么了吗?

共有1个答案

苏彭薄
2023-03-14

我找到了使dhcpd pod运行良好的解决方案。下面的示例是在k8s服务网络(blosterIPs)之外的外部网络服务器。dhcp配置如下所示:

include "/etc/dhcp/dhcpd-options.conf";

subnet 192.168.0.0 netmask 255.255.0.0 {}

# management network
subnet 10.0.0.0 netmask 255.255.0.0 {
  option routers 10.0.255.254;
  option broadcast-address 10.0.255.255;
  next-server 10.0.100.6;
  include "/etc/dhcp/lease-bmc.conf";
  include "/etc/dhcp/lease-node.conf";
}

k8s服务如下所示:

$catdhcpd-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: dhcpd
  namespace: kube-mngt
spec:
  selector:
    app: dhcpd
  ports:
  - protocol: UDP
    port: 67
    targetPort: 67
  externalIPs:
  - 10.0.100.5

然后,配置交换机(接口vlan X)以指定指向dhcp服务器的帮助器地址(在本例中为10.0.100.5)

interface Vlan1
 ip address 10.0.255.254 255.255.0.0 secondary
 ip address 10.0.0.1 255.255.0.0
 ip helper-address 10.0.100.5
!
 类似资料:
  • 部署服务 我们使用 docker service 命令来管理 Swarm 集群中的服务,该命令只能在管理节点运行。 新建服务 现在我们在上一节创建的 Swarm 集群中运行一个名为 nginx 服务。 $ docker service create --replicas 3 -p 80:80 --name nginx nginx:1.13.7-alpine 现在我们使用浏览器,输入任意节点 IP

  • 关于aiohttp服务器部署,这里有以下几种选择: 独立的服务器。 使用nginx, HAProxy等反向代理服务器,之后是后端服务器。 在反向代理之后在部署一层gunicorn,然后才是后端服务器。 独立服务器 只需要调用aiohttp.web.run_app(),并传递aiohttp.web.Application实例即可。 该方法最简单,也是在比较小的程序中最好的解决方法。但该方法并不能完全

  • 服务端部署 1. 源码部署 CAT安装环境 Linux 2.6以及之上(2.6内核才可以支持epoll),线上服务端部署请使用Linux环境,Mac以及Windows环境可以作为开发环境,美团点评内部CentOS 6.5 Java 6,7,8,服务端推荐使用jdk7的版本,客户端jdk6、7、8都支持 Maven 3及以上 MySQL 5.6,5.7,更高版本MySQL都不建议使用,不清楚兼容性

  • 部署模式 SOFARegistry 支持两种部署模式,分别是集成部署模式及独立部署模式,本文将介绍最简单的单节点集成部署模式,更多更详细的部署模式介绍可以查看 部署文档。 部署步骤 1. 下载源码或者安装包 下载源码方式 git clone https://github.com/sofastack/sofa-registry.git cd sofa-registry mvn clean packa

  • 部署 PHP 应用程序到生产环境中有多种方式。 Platform as a Service (PaaS) PaaS 提供了运行 PHP 应用程序所必须的系统环境和网络架构。这就意味着只需做少量配置就可以运行 PHP 应用程序或者 PHP 框架。 现在,PaaS 已经成为一种部署、托管和扩展各种规模的 PHP 应用程序的流行方式。你可以在 资源部分 查看 PHP PaaS “Platform as

  • 本文档用来说明通过预编译好的安装包来安装并运行基于 MySQL/MariaDB 的 Seafile 服务器。(MariaDB 是 MySQL 的分支) 下载 到下载页面下载最新的服务器安装包. 部署和目录设计 假设你公司的名称为 haiwen, 你也已经下载 seafile-server_1.4.0_* 到你的 home 目录下。 我们建议这样的目录结构: mkdir haiwen mv seaf