k3s 에 cloudflare ddns 업데이터 적용

2025. 12. 20. 08:06·인프라/Cloudflare
반응형

기존에 dnszi 에서 사용하던 ddns 업데이트 이후 cloudflare 로 옮긴후 적용이 필요했다.

 

먼저 k3s 에 인증키 생성

gglabadmin@k3s-node1:/k8s/common/cloudflare$ cat ddns-secret.yaml 
apiVersion: v1
kind: Secret
metadata:
  name: cloudflare-api-token
  namespace: default
type: Opaque
stringData:
  token: "api토큰"

 

다음으로

proxy 할것과 안할것을 구분해서 두개의 설정 파일 준비

 

[DNS 만 연결]

gglabadmin@k3s-node1:/k8s/common/cloudflare$ cat ddns-direct-deployment.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: cloudflare-ddns-direct
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: cloudflare-ddns
  template:
    metadata:
      labels:
        app: cloudflare-ddns
    spec:
      containers:
      - name: ddns
        image: favonia/cloudflare-ddns:latest
        env:
        - name: CLOUDFLARE_API_TOKEN
          valueFrom:
            secretKeyRef:
              name: cloudflare-api-token
              key: token
        - name: DOMAINS
          value: "도메인주소"
        - name: PROXIED
          value: "false"
        - name: UPDATE_CRON
          value: "@every 1h"
        - name: IP6_PROVIDER
          value: "none"
        - name: DETECTION_TIMEOUT
          value: "15s"
        # 컨테이너 자원 제한 (선택 사항)
        resources:
          limits:
            memory: "64Mi"
            cpu: "100m"

 

[proxy]

gglabadmin@k3s-node1:/k8s/common/cloudflare$ cat ddns-proxied-deployment.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: cloudflare-ddns-proxied
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: cloudflare-ddns
  template:
    metadata:
      labels:
        app: cloudflare-ddns
    spec:
      containers:
      - name: ddns
        image: favonia/cloudflare-ddns:latest
        env:
        - name: CLOUDFLARE_API_TOKEN
          valueFrom:
            secretKeyRef:
              name: cloudflare-api-token
              key: token
        - name: DOMAINS
          value: "docs.gglab.app,money-dev.gglab.app"
        - name: PROXIED
          value: "true"
        - name: UPDATE_CRON
          value: "@every 1h"
        - name: IP6_PROVIDER
          value: "none"
        - name: DETECTION_TIMEOUT
          value: "15s"
        # 컨테이너 자원 제한 (선택 사항)
        resources:
          limits:
            memory: "64Mi"
            cpu: "100m"
gglabadmin@k3s-node1:/k8s/common/cloudflare$

 

잘 올라왔나?

gglabadmin@k3s-node1:/k8s/common/cloudflare$ sudo kubectl get pods -l app=cloudflare-ddns
NAME                                      READY   STATUS    RESTARTS   AGE
cloudflare-ddns-direct-689fbfbf9c-nhn5r   1/1     Running   0          7m49s
cloudflare-ddns-proxied-d766fb866-59pk6   1/1     Running   0          7m44s

 

파드는 1개씩만 있으면 되겠지

 

로그를 보자.

gglabadmin@k3s-node1:/k8s/common/cloudflare$ sudo kubectl logs -f cloudflare-ddns-direct-689fbfbf9c-nhn5r
🌟 Cloudflare DDNS (v1.15.1-0-ga0938af)
📖 Reading settings . . .
   🔸 Use default IP4_PROVIDER=cloudflare.trace
   🔸 Use default UPDATE_ON_START=true
   🔸 Use default DELETE_ON_STOP=false
   🔸 Use default CACHE_EXPIRATION=6h0m0s
   🔸 Use default TTL=1
   🔸 Use default UPDATE_TIMEOUT=30s
📖 Checking settings . . .
📖 Current settings:
   🔧 Domains, IP providers, and WAF lists:
      🔸 IPv4-enabled domains:    도메인
      🔸 IPv4 provider:           cloudflare.trace
      🔸 WAF lists:               (none)
   🔧 Scheduling:
      🔸 Timezone:                UTC (currently UTC+00)
      🔸 Update schedule:         @every 1h
      🔸 Update on start?         true
      🔸 Delete on stop?          false
      🔸 Cache expiration:        6h0m0s
   🔧 Parameters of new DNS records and WAF lists:
      🔸 TTL:                     1 (auto)
      🔸 Proxied domains:         (none)
      🔸 Unproxied domains:       도메인
      🔸 DNS record comment:      (empty)
      🔸 WAF list description:    (empty)
   🔧 Timeouts:
      🔸 IP detection:            15s
      🔸 Record/list updating:    30s

🌐 Detected the IPv4 address 116.40.240.162
🤷 The A records of 도메인 are already up to date
⏰ Checking the IP addresses in about 59m58s (23:55) . . .
gglabadmin@k3s-node1:/k8s/common/cloudflare$ sudo kubectl logs -f cloudflare-ddns-proxied-d766fb866-59pk6
🌟 Cloudflare DDNS (v1.15.1-0-ga0938af)
📖 Reading settings . . .
   🔸 Use default IP4_PROVIDER=cloudflare.trace
   🔸 Use default UPDATE_ON_START=true
   🔸 Use default DELETE_ON_STOP=false
   🔸 Use default CACHE_EXPIRATION=6h0m0s
   🔸 Use default TTL=1
   🔸 Use default UPDATE_TIMEOUT=30s
📖 Checking settings . . .
📖 Current settings:
   🔧 Domains, IP providers, and WAF lists:
      🔸 IPv4-enabled domains:    도메인
      🔸 IPv4 provider:           cloudflare.trace
      🔸 WAF lists:               (none)
   🔧 Scheduling:
      🔸 Timezone:                UTC (currently UTC+00)
      🔸 Update schedule:         @every 1h
      🔸 Update on start?         true
      🔸 Delete on stop?          false
      🔸 Cache expiration:        6h0m0s
   🔧 Parameters of new DNS records and WAF lists:
      🔸 TTL:                     1 (auto)
      🔸 Proxied domains:         도메인
      🔸 Unproxied domains:       (none)
      🔸 DNS record comment:      (empty)
      🔸 WAF list description:    (empty)
   🔧 Timeouts:
      🔸 IP detection:            15s
      🔸 Record/list updating:    30s

🌐 Detected the IPv4 address 116.40.240.162
🤷 The A records of 도메인1 are already up to date
🤷 The A records of 도메인2 are already up to date
⏰ Checking the IP addresses in about 59m58s (23:55) . . .

 

잘된다.

반응형

'인프라 > Cloudflare' 카테고리의 다른 글

Cloudflare Proxy 적용  (1) 2025.12.20
'인프라/Cloudflare' 카테고리의 다른 글
  • Cloudflare Proxy 적용
GG.Lab
GG.Lab
GG.Lab
    반응형
  • GG.Lab
    GG.Lab
    GG.Lab
  • 전체
    오늘
    어제
    • 분류 전체보기 (50)
      • APP (25)
        • 함쓰가계부 (22)
        • 랭킹구구단 (3)
      • 인프라 (18)
        • Docker (1)
        • Proxmox (4)
        • Kubernetes (8)
        • Network (3)
        • Cloudflare (2)
      • DB (7)
        • Postgresql (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 함쓰 메뉴얼
    • 함쓰 카페
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Proxmox
    k3s
    문자자동인식가계부
    postgresql이중화
    구구단
    함께쓰는가계부
    external-svc
    PostgreSQL
    해외통화가계부
    문자자동인식
    pfsense
    가계부편의기능
    플러터
    쿠버네티스
    해외통화지원
    함쓰
    Flutter
    연인가계부
    k3s외부서비스
    Kubernetes
    자작앱
    공유가계부
    sms인식가계부
    앱출시
    K8s
    부부가계부
    traefik
    커플가계부
    함쓰가계부
    patroni
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
GG.Lab
k3s 에 cloudflare ddns 업데이터 적용
상단으로

티스토리툴바