mirror of
https://github.com/vhaudiquet/homeprod.git
synced 2026-05-06 16:51:27 +00:00
coredns, blocky: deploy coredns and blocky on kube
This commit is contained in:
79
kubernetes/system/coredns/etcd.yaml
Normal file
79
kubernetes/system/coredns/etcd.yaml
Normal file
@@ -0,0 +1,79 @@
|
||||
apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: etcd
|
||||
namespace: coredns
|
||||
labels:
|
||||
app.kubernetes.io/name: etcd
|
||||
app.kubernetes.io/component: dns-backend
|
||||
spec:
|
||||
serviceName: etcd
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: etcd
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: etcd
|
||||
spec:
|
||||
containers:
|
||||
- name: etcd
|
||||
image: quay.io/coreos/etcd:v3.5.17
|
||||
ports:
|
||||
- containerPort: 2379
|
||||
name: client
|
||||
- containerPort: 2380
|
||||
name: peer
|
||||
env:
|
||||
- name: ETCD_DATA_DIR
|
||||
value: /etcd-data
|
||||
- name: ETCD_LISTEN_CLIENT_URLS
|
||||
value: http://0.0.0.0:2379
|
||||
- name: ETCD_ADVERTISE_CLIENT_URLS
|
||||
value: http://etcd.coredns.svc.cluster.local:2379
|
||||
- name: ETCD_LISTEN_PEER_URLS
|
||||
value: http://0.0.0.0:2380
|
||||
- name: ETCD_INITIAL_ADVERTISE_PEER_URLS
|
||||
value: http://etcd-0.etcd.coredns.svc.cluster.local:2380
|
||||
- name: ETCD_INITIAL_CLUSTER
|
||||
value: etcd-0=http://etcd-0.etcd.coredns.svc.cluster.local:2380
|
||||
- name: ETCD_NAME
|
||||
value: etcd-0
|
||||
resources:
|
||||
limits:
|
||||
cpu: 100m
|
||||
memory: 128Mi
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 64Mi
|
||||
volumeMounts:
|
||||
- name: etcd-data
|
||||
mountPath: /etcd-data
|
||||
volumeClaimTemplates:
|
||||
- metadata:
|
||||
name: etcd-data
|
||||
spec:
|
||||
accessModes: ["ReadWriteOnce"]
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: etcd
|
||||
namespace: coredns
|
||||
labels:
|
||||
app.kubernetes.io/name: etcd
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- port: 2379
|
||||
targetPort: 2379
|
||||
name: client
|
||||
- port: 2380
|
||||
targetPort: 2380
|
||||
name: peer
|
||||
selector:
|
||||
app.kubernetes.io/name: etcd
|
||||
15
kubernetes/system/coredns/kustomization.yaml
Normal file
15
kubernetes/system/coredns/kustomization.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: coredns
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- repository.yaml
|
||||
- release.yaml
|
||||
- zone-configmap.yaml
|
||||
- etcd.yaml
|
||||
secretGenerator:
|
||||
- name: coredns-values
|
||||
files:
|
||||
- values.yaml=values.yaml
|
||||
configurations:
|
||||
- kustomizeconfig.yaml
|
||||
6
kubernetes/system/coredns/kustomizeconfig.yaml
Normal file
6
kubernetes/system/coredns/kustomizeconfig.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
nameReference:
|
||||
- kind: HelmRepository
|
||||
version: v1
|
||||
fieldSpecs:
|
||||
- path: spec/chart/spec/sourceRef/name
|
||||
kind: HelmRelease
|
||||
7
kubernetes/system/coredns/namespace.yaml
Normal file
7
kubernetes/system/coredns/namespace.yaml
Normal file
@@ -0,0 +1,7 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: coredns
|
||||
labels:
|
||||
app.kubernetes.io/name: coredns
|
||||
app.kubernetes.io/component: dns
|
||||
19
kubernetes/system/coredns/release.yaml
Normal file
19
kubernetes/system/coredns/release.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: coredns
|
||||
namespace: coredns
|
||||
spec:
|
||||
interval: 1m
|
||||
chart:
|
||||
spec:
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: coredns
|
||||
namespace: coredns
|
||||
chart: coredns
|
||||
version: "1.x.x"
|
||||
interval: 1m
|
||||
valuesFrom:
|
||||
- kind: Secret
|
||||
name: coredns-values
|
||||
8
kubernetes/system/coredns/repository.yaml
Normal file
8
kubernetes/system/coredns/repository.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
apiVersion: source.toolkit.fluxcd.io/v1
|
||||
kind: HelmRepository
|
||||
metadata:
|
||||
name: coredns
|
||||
namespace: coredns
|
||||
spec:
|
||||
interval: 1h
|
||||
url: https://coredns.github.io/helm
|
||||
72
kubernetes/system/coredns/values.yaml
Normal file
72
kubernetes/system/coredns/values.yaml
Normal file
@@ -0,0 +1,72 @@
|
||||
replicaCount: 1
|
||||
image:
|
||||
repository: coredns/coredns
|
||||
tag: 1.12.0
|
||||
pullPolicy: IfNotPresent
|
||||
resources:
|
||||
limits:
|
||||
cpu: 100m
|
||||
memory: 128Mi
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 64Mi
|
||||
serviceType: ClusterIP
|
||||
service:
|
||||
annotations:
|
||||
io.cilium/lb-ipam-ips: ""
|
||||
servers:
|
||||
- zones:
|
||||
- zone: .
|
||||
port: 53
|
||||
plugins:
|
||||
- name: errors
|
||||
- name: health
|
||||
configBlock: lameduck 5s
|
||||
- name: ready
|
||||
- name: etcd
|
||||
parameters: lan
|
||||
configBlock: |-
|
||||
path /skydns
|
||||
endpoint http://etcd.coredns.svc.cluster.local:2379
|
||||
- name: file
|
||||
parameters: /etc/coredns/zones/lan.zone lan
|
||||
configBlock: reload 10s
|
||||
- name: cache
|
||||
parameters: 30
|
||||
- name: loadbalance
|
||||
- name: log
|
||||
configBlock: class error
|
||||
extraVolumeMounts:
|
||||
- name: zone-config
|
||||
mountPath: /etc/coredns/zones
|
||||
readOnly: true
|
||||
extraVolumes:
|
||||
- name: zone-config
|
||||
configMap:
|
||||
name: coredns-lan-zone
|
||||
sops:
|
||||
lastmodified: "2026-05-02T09:18:53Z"
|
||||
mac: ENC[AES256_GCM,data:gu19hSBFBBp516DyevduvKSHh1PAqGfBQQs1H2UdpyHHM5fueUYhJtbJxwvN8BIi9zT2GFIkcefP4VKcI+uD3+pdqpuzr9+T2im9jPj57aS0qFYRbzt7wLwkrYAE/U2fAW1uExfmIEoOKJP9StDvk5fUKnBxyAD5BmO1sc+nifo=,iv:w5Xl1KyfrynR+sHGMlwc0tYNRdI0O5+f5nFuq/R6UFQ=,tag:Gb7CvFP1CWTGkKaC2sHIQQ==,type:str]
|
||||
pgp:
|
||||
- created_at: "2026-05-02T09:18:51Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hQIMA7uy4qQr71wiARAAw7GQOytNOmyr2inudzYnI1/c5ttiTSGXJC+yXiH1vF8B
|
||||
Rwu6RM/7y2/7NY7h4DeUo7kW8AtgMGsAG0hZ1vIY9NWacSLKfvNyHzHMVxaUgnqe
|
||||
4v62jC2HDLfB+NLe2L6oxKmi6ZtYq1hpEMzPTAVVz5fNCWMsepNAKPGc/yOB3Vm2
|
||||
UzdXS/yIuiG/cWKnGXRnCx3cTZ0ypU6tw5Mxu2dyIn11su/B/T65NfsvZdWJ05gt
|
||||
BGqSddI0pNPD3UmEivKD4zKB34MQFvtohsNLtPDrIzIRG/0Unx1Hzfm6MM1Atj3W
|
||||
gCDkkYI8C5tgXbp7p2WI8WSvX/V6eF6Ueh6C8bMpGvGxIOaTMwfkskS8Anw6TCfj
|
||||
uYVkJ7XYMVtvCILGmSIoSDNChFB0koOoUp2gbTtsWNvOrUQnOHsad55N+BN/5BiP
|
||||
quXHHtluq4cGrZsVprdplz42qalJK9KxlZ6L7ydrJnMTU+E02sHOTJt6iwsI9XM+
|
||||
3ZscNIS4QvGJAb4tzzERaIo7jmRlX/YxKtcePNhV1TQUG3/5yrcMo2XXM8hn9Rk4
|
||||
DEA79wtgnryA4TeqwKMLhIvCXFu5B/nYOtAHj/I4nhKazIVtwSXndboM6WD4xPfM
|
||||
bf4lc4KuvvBu3rx2d2u+DOh3k+ebU9MBONQ3B1WLjOFOe8LUnbGCsN/2KfhRRw7S
|
||||
XgFTna/svDiYYIF7sqpRHKY3qdJ39/GRrhI06QcYQHVGpbpPv9G/4K2K7p2G1fBH
|
||||
zUZqfwLtTvwmpCE8ko+m8WWx5OMouTWiY4GXDGybQCkUa07EfgIkYK8IwqEDwlo=
|
||||
=Ns+9
|
||||
-----END PGP MESSAGE-----
|
||||
fp: DC6910268E657FF70BA7EC289974494E76938DDC
|
||||
encrypted_regex: ^(password|value|ssh-key|api-key|user|username|privateKey|clientSecret|clientId|apiKey|extraArgs.*|.*Secret.*|extraEnvVars|.*SECRET.*|.*secret.*|key|.*Password|.*\.ya?ml)$
|
||||
version: 3.10.2
|
||||
67
kubernetes/system/coredns/zone-configmap.yaml
Normal file
67
kubernetes/system/coredns/zone-configmap.yaml
Normal file
@@ -0,0 +1,67 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: coredns-lan-zone
|
||||
namespace: coredns
|
||||
labels:
|
||||
app.kubernetes.io/name: coredns
|
||||
app.kubernetes.io/component: dns-zone
|
||||
data:
|
||||
lan.zone: |
|
||||
$ORIGIN lan.
|
||||
@ IN SOA ns.lan. admin.lan. (
|
||||
2024010101 ; serial
|
||||
3600 ; refresh
|
||||
1800 ; retry
|
||||
604800 ; expire
|
||||
86400 ) ; minimum
|
||||
IN NS ns.lan.
|
||||
|
||||
; Nameserver record
|
||||
ns IN A 10.1.2.172
|
||||
|
||||
; Static hosts
|
||||
openwrt IN A 10.1.1.1
|
||||
|
||||
; R740 and virtual machines
|
||||
r740 IN A 10.1.1.223
|
||||
bw-r740 IN A 10.1.2.233
|
||||
kube-r740 IN A 10.1.2.171
|
||||
docker-r740 IN A 10.1.2.212
|
||||
truenas IN A 10.1.2.139
|
||||
|
||||
; PVE
|
||||
pve IN A 10.1.2.10
|
||||
docker-homeprod IN A 10.1.2.12
|
||||
|
||||
; Ligory
|
||||
pve-ligory IN A 10.2.2.10
|
||||
docker-ligory IN A 10.2.2.232
|
||||
|
||||
; IoT
|
||||
c210 IN A 10.1.1.106
|
||||
elegoo-neptune-4pro IN A 10.1.1.155
|
||||
|
||||
; docker-r740 services
|
||||
esphome IN A 10.1.2.212
|
||||
excalidraw IN A 10.1.2.212
|
||||
gramps IN A 10.1.2.212
|
||||
jackett IN A 10.1.2.212
|
||||
jellyseerr IN A 10.1.2.212
|
||||
mqtt IN A 10.1.2.212
|
||||
n8n IN A 10.1.2.212
|
||||
obsidian-livesync IN A 10.1.2.212
|
||||
paperless IN A 10.1.2.212
|
||||
proxy IN A 10.1.2.212
|
||||
radarr IN A 10.1.2.212
|
||||
radicale IN A 10.1.2.212
|
||||
sonarr IN A 10.1.2.212
|
||||
stirling-pdf IN A 10.1.2.212
|
||||
syncthing-valentin IN A 10.1.2.212
|
||||
tandoor IN A 10.1.2.212
|
||||
traefik IN A 10.1.2.212
|
||||
transmission IN A 10.1.2.212
|
||||
tubearchivist IN A 10.1.2.212
|
||||
webmail IN A 10.1.2.212
|
||||
wizarr IN A 10.1.2.212
|
||||
zigbee2mqtt IN A 10.1.2.212
|
||||
Reference in New Issue
Block a user