init: copied modules from lawndale-infra
This commit is contained in:
167
kubernetes/flannel/daemonset.tf
Normal file
167
kubernetes/flannel/daemonset.tf
Normal file
@@ -0,0 +1,167 @@
|
||||
resource "kubernetes_daemonset" "this" {
|
||||
metadata {
|
||||
name = var.daemonset_name
|
||||
namespace = var.namespace
|
||||
labels = {
|
||||
app = var.daemonset_name
|
||||
"k8s-app" = "cni"
|
||||
}
|
||||
}
|
||||
spec {
|
||||
selector {
|
||||
match_labels = {
|
||||
app = var.daemonset_name
|
||||
"k8s-app" = "cni"
|
||||
}
|
||||
}
|
||||
|
||||
template {
|
||||
metadata {
|
||||
labels = {
|
||||
app = var.daemonset_name
|
||||
"k8s-app" = "cni"
|
||||
}
|
||||
}
|
||||
spec {
|
||||
affinity {
|
||||
node_affinity {
|
||||
required_during_scheduling_ignored_during_execution {
|
||||
node_selector_term {
|
||||
match_expressions {
|
||||
key = "kubernetes.io/os"
|
||||
operator = "In"
|
||||
values = var.node_selector_os
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
host_network = true
|
||||
priority_class_name = "system-node-critical"
|
||||
|
||||
toleration {
|
||||
operator = "Exists"
|
||||
effect = "NoSchedule"
|
||||
}
|
||||
|
||||
service_account_name = kubernetes_service_account.this.metadata.0.name
|
||||
|
||||
init_container {
|
||||
name = "install-cni-plugin"
|
||||
image = var.flannel_cni_plugin_image
|
||||
command = ["cp"]
|
||||
args = ["-f", "/flannel", "/opt/cni/bin/flannel"]
|
||||
volume_mount {
|
||||
name = "cni-plugin"
|
||||
mount_path = "/opt/cni/bin"
|
||||
}
|
||||
}
|
||||
|
||||
init_container {
|
||||
name = "install-cni"
|
||||
image = var.flannel_image
|
||||
command = ["cp"]
|
||||
args = ["-f", "/etc/kube-flannel/cni-conf.json", "/etc/cni/net.d/10-flannel.conflist"]
|
||||
volume_mount {
|
||||
name = "cni"
|
||||
mount_path = "/etc/cni/net.d"
|
||||
}
|
||||
volume_mount {
|
||||
name = "flannel-cfg"
|
||||
mount_path = "/etc/kube-flannel/"
|
||||
}
|
||||
}
|
||||
|
||||
container {
|
||||
name = "kube-flannel"
|
||||
image = var.flannel_image
|
||||
command = ["/opt/bin/flanneld"]
|
||||
args = ["--ip-masq", "--kube-subnet-mgr"]
|
||||
resources {
|
||||
requests = {
|
||||
cpu = "100m"
|
||||
memory = "50Mi"
|
||||
}
|
||||
limits = {
|
||||
cpu = "100m"
|
||||
memory = "50Mi"
|
||||
}
|
||||
}
|
||||
security_context {
|
||||
privileged = false
|
||||
capabilities {
|
||||
add = ["NET_ADMIN", "NET_RAW"]
|
||||
}
|
||||
}
|
||||
|
||||
env {
|
||||
name = "POD_NAME"
|
||||
value_from {
|
||||
field_ref {
|
||||
field_path = "metadata.name"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
env {
|
||||
name = "POD_NAMESPACE"
|
||||
value_from {
|
||||
field_ref {
|
||||
field_path = "metadata.namespace"
|
||||
}
|
||||
}
|
||||
}
|
||||
env {
|
||||
name = "EVENT_QUEUE_DEPTH"
|
||||
value = "5000"
|
||||
}
|
||||
volume_mount {
|
||||
name = "run"
|
||||
mount_path = "/run/flannel"
|
||||
}
|
||||
volume_mount {
|
||||
name = "flannel-cfg"
|
||||
mount_path = "/etc/kube-flannel/"
|
||||
}
|
||||
volume_mount {
|
||||
name = "xtables-lock"
|
||||
mount_path = "/run/xtables.lock"
|
||||
}
|
||||
}
|
||||
|
||||
volume {
|
||||
name = "run"
|
||||
host_path {
|
||||
path = "/run/flannel"
|
||||
}
|
||||
}
|
||||
volume {
|
||||
name = "cni-plugin"
|
||||
host_path {
|
||||
path = "/opt/cni/bin"
|
||||
}
|
||||
}
|
||||
volume {
|
||||
name = "cni"
|
||||
host_path {
|
||||
path = "/etc/cni/net.d"
|
||||
}
|
||||
}
|
||||
volume {
|
||||
name = "flannel-cfg"
|
||||
config_map {
|
||||
name = kubernetes_config_map.this.metadata.0.name
|
||||
}
|
||||
}
|
||||
volume {
|
||||
name = "xtables-lock"
|
||||
host_path {
|
||||
path = "/run/xtables.lock"
|
||||
type = "FileOrCreate"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user