# Description DaemonsetDNS kubernetes manifests to install the daemonsetdns deployment in the `daemonsetdns` namespace. A `daemonsetdns` service is created allowing all clients to find the IP of a pod in a daemonset on a particular node. Requests should be made to port 53 of the service at ``` daemonsetdns.daemonsetdns.svc.cluster.local. ``` Requests should be of the form ``` ...pod-locator. ``` Further details can be found in the daemonsetdns Readme at `cmd/sds/daemonsetdns/README.md` # Manifest updates The daemonsetdnstest component embeds the base kustomization of these manifests. If these manifests are modified you should recreate the generated manifest using the command ```bash bazel run //pkg/sds/k8s/daemonsetdns/daemonsetdnstest:daemonsetdns_base_manifests ``` # Environment Variables ## Environment Setup Create an `.env` file with the following variables: ```dotenv # gke, sds, or generic. use "generic" for any K8s cluster that isn't GKE or # SDS. export CLUSTER_PROVIDER= # uuid is necessary for generating a cluster_hash, existing resources should # have this in their annotations already but one can be created by using # uuidgen export CLUSTER_UUID= # google cloud project id export GCP_PROJECT_ID= # defaults to us and east1-b, otherwise needs to be valid GCP value export GCP_REGION= export GCP_ZONE= # set to same value as gcp project ID when developing within a single # project. export FOREMAN_GCP_PROJECT_ID= # enables split scheduling export INFRA=true # name of the kubeconfig context to use to schedule infra objects; # default behavior is to apply all objects to the same K8s context # To deploy to local IEN clusters, set the INFRA_CONTEXT to the context name specified in local kubeconfig export INFRA_CONTEXT= # target namespace for all applied infrastructure resources, including # dependencies; the namespace is created if it does not already exist. export INFRA_NAMESPACE= ``` # Applying the Pallet The following is the example applying daemonsetdns to an sds cluster ```shell source ~/.env lift pack config/pallets/sds/daemonsetdns lift apply config/pallets/sds/daemonsetdns ``` NOTE: For pushing to local registry, add the flag -registry localhost:21700 to the pack and apply commands.