반응형
기존에 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 |
|---|
