mirror of https://github.com/k3s-io/k3s
Integrate SkyDNS in libvirt-coreos
parent
7ce6f22687
commit
c763fbf98a
|
@ -54,3 +54,9 @@ ENABLE_NODE_MONITORING=true
|
|||
# Optional: Enable node logging.
|
||||
ENABLE_NODE_LOGGING=false
|
||||
LOGGING_DESTINATION=elasticsearch
|
||||
|
||||
# Optional: Install cluster DNS.
|
||||
ENABLE_CLUSTER_DNS=true
|
||||
DNS_SERVER_IP="10.11.0.254"
|
||||
DNS_DOMAIN="kubernetes.local"
|
||||
DNS_REPLICAS=1
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
kind: ReplicationController
|
||||
apiVersion: v1beta1
|
||||
id: skydns
|
||||
namespace: default
|
||||
labels:
|
||||
k8s-app: skydns
|
||||
desiredState:
|
||||
replicas: ${DNS_REPLICAS}
|
||||
replicaSelector:
|
||||
k8s-app: skydns
|
||||
podTemplate:
|
||||
labels:
|
||||
k8s-app: skydns
|
||||
desiredState:
|
||||
manifest:
|
||||
version: v1beta2
|
||||
id: skydns
|
||||
dnsPolicy: "Default" # Don't use cluster DNS.
|
||||
containers:
|
||||
- name: etcd
|
||||
image: quay.io/coreos/etcd:latest
|
||||
command: [
|
||||
\"/etcd\",
|
||||
\"-bind-addr=127.0.0.1\",
|
||||
\"-peer-bind-addr=127.0.0.1\",
|
||||
]
|
||||
- name: kube2sky
|
||||
image: kubernetes/kube2sky:1.0
|
||||
command: [
|
||||
# entrypoint = \"/kube2sky\",
|
||||
\"-domain=${DNS_DOMAIN}\",
|
||||
]
|
||||
- name: skydns
|
||||
image: kubernetes/skydns:2014-12-23-001
|
||||
command: [
|
||||
# entrypoint = \"/skydns\",
|
||||
\"-machines=http://localhost:4001\",
|
||||
\"-addr=0.0.0.0:53\",
|
||||
\"-domain=${DNS_DOMAIN}.\",
|
||||
]
|
||||
ports:
|
||||
- name: dns
|
||||
containerPort: 53
|
||||
protocol: UDP
|
|
@ -0,0 +1,12 @@
|
|||
kind: Service
|
||||
apiVersion: v1beta1
|
||||
id: skydns
|
||||
namespace: default
|
||||
protocol: UDP
|
||||
port: 53
|
||||
portalIP: ${DNS_SERVER_IP}
|
||||
containerPort: 53
|
||||
labels:
|
||||
k8s-app: skydns
|
||||
selector:
|
||||
k8s-app: skydns
|
|
@ -59,5 +59,25 @@ coreos:
|
|||
Restart=always
|
||||
RestartSec=2
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
- name: kube-addons.service
|
||||
command: start
|
||||
content: |
|
||||
[Unit]
|
||||
After=opt-kubernetes.mount kube-apiserver.service
|
||||
ConditionPathIsDirectory=/opt/kubernetes/addons
|
||||
Description=Kubernetes addons
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
Requires=opt-kubernetes.mount kube-apiserver.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStartPre=/bin/bash -c 'while [[ \"\$(curl -s http://127.0.0.1:8080/healthz)\" != \"ok\" ]]; do sleep 1; done'
|
||||
ExecStartPre=/bin/sleep 10
|
||||
ExecStart=/opt/kubernetes/bin/kubectl create -f /opt/kubernetes/addons
|
||||
ExecStop=/opt/kubernetes/bin/kubectl stop -f /opt/kubernetes/addons
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
|
|
@ -17,6 +17,9 @@ coreos:
|
|||
--address=0.0.0.0 \
|
||||
--hostname_override=${MINION_IPS[$i]} \
|
||||
--etcd_servers=http://127.0.0.1:4001 \
|
||||
--api_servers=http://${MASTER_IP}:8080 \
|
||||
$( [[ "$ENABLE_CLUSTER_DNS" == "true" ]] && echo "--cluster_dns=${DNS_SERVER_IP}" ) \
|
||||
$( [[ "$ENABLE_CLUSTER_DNS" == "true" ]] && echo "--cluster_domain=${DNS_DOMAIN}" ) \
|
||||
--config=/opt/kubernetes/manifests
|
||||
Restart=always
|
||||
RestartSec=2
|
||||
|
|
|
@ -137,6 +137,12 @@ function initialize-pool {
|
|||
fi
|
||||
fi
|
||||
|
||||
mkdir -p "$POOL_PATH/kubernetes/addons"
|
||||
if [[ "$ENABLE_CLUSTER_DNS" == "true" ]]; then
|
||||
render-template "$ROOT/skydns-svc.yaml" > "$POOL_PATH/kubernetes/addons/skydns-svc.yaml"
|
||||
render-template "$ROOT/skydns-rc.yaml" > "$POOL_PATH/kubernetes/addons/skydns-rc.yaml"
|
||||
fi
|
||||
|
||||
virsh pool-refresh $POOL
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue