Sign inSign up

marcel2012/k8s-tftp

By marcel2012

•Updated 5 days ago

Multiarch TFTP server with GET and PUT support which can run on Kubernetes

Image
Databases & storage
0

7.0K

marcel2012/k8s-tftp repository overview

⁠k8s-tftp

build-ghcr build-dockerhub CodeQL

⁠With GET and PUT support

Multiarch TFTP server which can run on Kubernetes.

Repository: https://hub.docker.com/r/marcel2012/k8s-tftp⁠

Github: https://github.com/marcel2012/k8s-tftp⁠

⁠How to use

⁠Docker
docker run -p 69:69/udp -v ./volume:/tftpboot marcel2012/k8s-tftp:latest

Test

% tftp          
tftp> connect 127.0.0.1
tftp> put file.txt
tftp> get file.txt
⁠Docker Compose

Create docker-compose.yaml file

version: '3.8'

services:
  app:
    image: marcel2012/k8s-tftp:latest
    ports:
      - "69:69/udp"
    volumes:
      - storage:/tftpboot

volumes:
  storage:

Run and test

% docker compose up -d
% tftp          
tftp> connect 127.0.0.1
tftp> put file.txt
tftp> get file.txt
⁠Kubernetes

Create a tftp.yaml like this

apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: pxe
  name: pxe-deployment
spec:
  selector:
    matchLabels:
      app: pxe
  template:
    metadata:
      labels:
        app: pxe
    spec:
      containers:
      - name: pxe
        image: marcel2012/k8s-tftp
        ports:
        - containerPort: 69
        volumeMounts:
          - name: nfs
            mountPath: /tftpboot
      volumes:
      - name: nfs
        persistentVolumeClaim:
          claimName: YOUR TFTP FILES PVC!!!
---
apiVersion: v1
kind: Service
metadata:
  name: pxe-deployment
  namespace: pxe
spec:
  externalIPs:
  - IP YOU WANT
  ports:
  - port: 69
    protocol: UDP
    targetPort: 69
  selector:
    app: pxe
  sessionAffinity: None
  type: LoadBalancer

Tag summary

Content type

Image

Digest

sha256:28566cfb9…

Size

2 MB

Last updated

5 days ago

docker pull marcel2012/k8s-tftp