mirror of
https://github.com/optim-enterprises-bv/terraform-talos.git
synced 2025-11-02 03:08:34 +00:00
update packages
This commit is contained in:
@@ -37,3 +37,7 @@ az ad sp create-for-rbac --name "kubernetes-csi" --role kubernetes-csi --scopes=
|
|||||||
* [metrics-server](https://github.com/kubernetes-sigs/metrics-server) 0.5.0
|
* [metrics-server](https://github.com/kubernetes-sigs/metrics-server) 0.5.0
|
||||||
* [rancher.io/local-path](https://github.com/rancher/local-path-provisioner) 0.0.19
|
* [rancher.io/local-path](https://github.com/rancher/local-path-provisioner) 0.0.19
|
||||||
* [ingress-nginx](https://kubernetes.github.io/ingress-nginx/) 4.1.2
|
* [ingress-nginx](https://kubernetes.github.io/ingress-nginx/) 4.1.2
|
||||||
|
|
||||||
|
|
||||||
|
TODO:
|
||||||
|
* ipv6 route
|
||||||
|
|||||||
@@ -3,3 +3,19 @@ provider "azurerm" {
|
|||||||
features {}
|
features {}
|
||||||
subscription_id = local.subscription_id
|
subscription_id = local.subscription_id
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# data "azurerm_virtual_machine_size" "size" {
|
||||||
|
# name = "Standard_D2pls_v5"
|
||||||
|
# location = "westeurope"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# resource "azurerm_linux_virtual_machine_scale_set" "worker" {
|
||||||
|
|
||||||
|
# source_image_reference {
|
||||||
|
# location = "westeurope"
|
||||||
|
# publisher = "Canonical"
|
||||||
|
# offer = "0001-com-ubuntu-server-jammy"
|
||||||
|
# sku = "22_04-lts-${data.azurerm_virtual_machine_size.size.architecture == "Arm64" ? "arm64" : "gen2"}"
|
||||||
|
# version = "latest"
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
|||||||
@@ -62,3 +62,10 @@
|
|||||||
|
|
||||||
# tags = merge(var.tags, { os = "talos" })
|
# tags = merge(var.tags, { os = "talos" })
|
||||||
# }
|
# }
|
||||||
|
|
||||||
|
# data "azurerm_platform_image" "example" {
|
||||||
|
# location = "westeurope"
|
||||||
|
# publisher = "Canonical"
|
||||||
|
# offer = "0001-com-ubuntu-server-focal"
|
||||||
|
# sku = "20_04-lts-arm64"
|
||||||
|
# }
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ create-kubeconfig: ## Prepare kubeconfig
|
|||||||
kubectl --kubeconfig=kubeconfig config set-context --current --namespace=kube-system
|
kubectl --kubeconfig=kubeconfig config set-context --current --namespace=kube-system
|
||||||
|
|
||||||
create-deployments:
|
create-deployments:
|
||||||
helm template --namespace=kube-system --version=1.11.6 -f deployments/cilium.yaml cilium \
|
helm template --namespace=kube-system --version=1.12.3 -f deployments/cilium.yaml cilium \
|
||||||
cilium/cilium > deployments/cilium-result.yaml
|
cilium/cilium > deployments/cilium-result.yaml
|
||||||
helm template --namespace=ingress-nginx --version=4.1.4 -f deployments/ingress.yaml ingress-nginx \
|
helm template --namespace=ingress-nginx --version=4.4.0 -f deployments/ingress.yaml ingress-nginx \
|
||||||
ingress-nginx/ingress-nginx > deployments/ingress-result.yaml
|
ingress-nginx/ingress-nginx > deployments/ingress-result.yaml
|
||||||
|
|||||||
@@ -49,10 +49,10 @@ data:
|
|||||||
# "cilium-metrics-config" ConfigMap
|
# "cilium-metrics-config" ConfigMap
|
||||||
# NOTE that this will open the port on ALL nodes where Cilium pods are
|
# NOTE that this will open the port on ALL nodes where Cilium pods are
|
||||||
# scheduled.
|
# scheduled.
|
||||||
prometheus-serve-addr: ":9090"
|
prometheus-serve-addr: ":9962"
|
||||||
# Port to expose Envoy metrics (e.g. "9095"). Envoy metrics listener will be disabled if this
|
# Port to expose Envoy metrics (e.g. "9964"). Envoy metrics listener will be disabled if this
|
||||||
# field is not set.
|
# field is not set.
|
||||||
proxy-prometheus-port: "9095"
|
proxy-prometheus-port: "9964"
|
||||||
|
|
||||||
# Enable IPv4 addressing. If enabled, all endpoints are allocated an IPv4
|
# Enable IPv4 addressing. If enabled, all endpoints are allocated an IPv4
|
||||||
# address.
|
# address.
|
||||||
@@ -119,14 +119,14 @@ data:
|
|||||||
cluster-name: default
|
cluster-name: default
|
||||||
# Unique ID of the cluster. Must be unique across all conneted clusters and
|
# Unique ID of the cluster. Must be unique across all conneted clusters and
|
||||||
# in the range of 1 and 255. Only relevant when building a mesh of clusters.
|
# in the range of 1 and 255. Only relevant when building a mesh of clusters.
|
||||||
cluster-id: ""
|
cluster-id: "0"
|
||||||
|
|
||||||
# Encapsulation mode for communication between nodes
|
# Encapsulation mode for communication between nodes
|
||||||
# Possible values:
|
# Possible values:
|
||||||
# - disabled
|
# - disabled
|
||||||
# - vxlan (default)
|
# - vxlan (default)
|
||||||
# - geneve
|
# - geneve
|
||||||
tunnel: vxlan
|
tunnel: "vxlan"
|
||||||
# Enables L7 proxy for L7 policy enforcement and visibility
|
# Enables L7 proxy for L7 policy enforcement and visibility
|
||||||
enable-l7-proxy: "true"
|
enable-l7-proxy: "true"
|
||||||
|
|
||||||
@@ -139,7 +139,6 @@ data:
|
|||||||
install-no-conntrack-iptables-rules: "false"
|
install-no-conntrack-iptables-rules: "false"
|
||||||
|
|
||||||
auto-direct-node-routes: "false"
|
auto-direct-node-routes: "false"
|
||||||
enable-bandwidth-manager: "false"
|
|
||||||
enable-local-redirect-policy: "true"
|
enable-local-redirect-policy: "true"
|
||||||
enable-host-firewall: "true"
|
enable-host-firewall: "true"
|
||||||
# List of devices used to attach bpf_host.o (implements BPF NodePort,
|
# List of devices used to attach bpf_host.o (implements BPF NodePort,
|
||||||
@@ -148,11 +147,12 @@ data:
|
|||||||
|
|
||||||
kube-proxy-replacement: "strict"
|
kube-proxy-replacement: "strict"
|
||||||
kube-proxy-replacement-healthz-bind-address: ""
|
kube-proxy-replacement-healthz-bind-address: ""
|
||||||
enable-host-reachable-services: "true"
|
bpf-lb-sock: "false"
|
||||||
|
host-reachable-services-protos:
|
||||||
enable-health-check-nodeport: "true"
|
enable-health-check-nodeport: "true"
|
||||||
node-port-bind-protection: "true"
|
node-port-bind-protection: "true"
|
||||||
enable-auto-protect-node-port-range: "true"
|
enable-auto-protect-node-port-range: "true"
|
||||||
enable-session-affinity: "true"
|
enable-svc-source-range-check: "true"
|
||||||
enable-l2-neigh-discovery: "true"
|
enable-l2-neigh-discovery: "true"
|
||||||
arping-refresh-period: "30s"
|
arping-refresh-period: "30s"
|
||||||
k8s-require-ipv4-pod-cidr: "true"
|
k8s-require-ipv4-pod-cidr: "true"
|
||||||
@@ -161,16 +161,30 @@ data:
|
|||||||
enable-health-checking: "true"
|
enable-health-checking: "true"
|
||||||
enable-well-known-identities: "false"
|
enable-well-known-identities: "false"
|
||||||
enable-remote-node-identity: "true"
|
enable-remote-node-identity: "true"
|
||||||
|
synchronize-k8s-nodes: "true"
|
||||||
operator-api-serve-addr: "127.0.0.1:9234"
|
operator-api-serve-addr: "127.0.0.1:9234"
|
||||||
ipam: "kubernetes"
|
ipam: "kubernetes"
|
||||||
disable-cnp-status-updates: "true"
|
disable-cnp-status-updates: "true"
|
||||||
|
enable-vtep: "false"
|
||||||
|
vtep-endpoint: ""
|
||||||
|
vtep-cidr: ""
|
||||||
|
vtep-mask: ""
|
||||||
|
vtep-mac: ""
|
||||||
enable-k8s-endpoint-slice: "true"
|
enable-k8s-endpoint-slice: "true"
|
||||||
|
enable-bgp-control-plane: "false"
|
||||||
|
bpf-root: "/sys/fs/bpf"
|
||||||
cgroup-root: "/sys/fs/cgroup"
|
cgroup-root: "/sys/fs/cgroup"
|
||||||
enable-k8s-terminating-endpoint: "true"
|
enable-k8s-terminating-endpoint: "true"
|
||||||
annotate-k8s-node: "true"
|
|
||||||
remove-cilium-node-taints: "true"
|
remove-cilium-node-taints: "true"
|
||||||
set-cilium-is-up-condition: "true"
|
set-cilium-is-up-condition: "true"
|
||||||
unmanaged-pod-watcher-interval: "15"
|
unmanaged-pod-watcher-interval: "15"
|
||||||
|
tofqdns-dns-reject-response-code: "refused"
|
||||||
|
tofqdns-enable-dns-compression: "true"
|
||||||
|
tofqdns-endpoint-max-ip-per-hostname: "50"
|
||||||
|
tofqdns-idle-connection-grace-period: "0s"
|
||||||
|
tofqdns-max-deferred-connection-deletes: "10000"
|
||||||
|
tofqdns-min-ttl: "3600"
|
||||||
|
tofqdns-proxy-response-max-delay: "100ms"
|
||||||
agent-not-ready-taint-key: "node.cilium.io/agent-not-ready"
|
agent-not-ready-taint-key: "node.cilium.io/agent-not-ready"
|
||||||
---
|
---
|
||||||
# Source: cilium/templates/cilium-agent/clusterrole.yaml
|
# Source: cilium/templates/cilium-agent/clusterrole.yaml
|
||||||
@@ -207,24 +221,13 @@ rules:
|
|||||||
- get
|
- get
|
||||||
- list
|
- list
|
||||||
- watch
|
- watch
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- nodes/status
|
|
||||||
verbs:
|
|
||||||
# To annotate the k8s node with Cilium's metadata
|
|
||||||
- patch
|
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- apiextensions.k8s.io
|
- apiextensions.k8s.io
|
||||||
resources:
|
resources:
|
||||||
- customresourcedefinitions
|
- customresourcedefinitions
|
||||||
verbs:
|
verbs:
|
||||||
# Deprecated for removal in v1.10
|
|
||||||
- create
|
|
||||||
- list
|
- list
|
||||||
- watch
|
- watch
|
||||||
- update
|
|
||||||
|
|
||||||
# This is used when validating policies in preflight. This will need to stay
|
# This is used when validating policies in preflight. This will need to stay
|
||||||
# until we figure out how to avoid "get" inside the preflight, and then
|
# until we figure out how to avoid "get" inside the preflight, and then
|
||||||
# should be removed ideally.
|
# should be removed ideally.
|
||||||
@@ -232,21 +235,61 @@ rules:
|
|||||||
- apiGroups:
|
- apiGroups:
|
||||||
- cilium.io
|
- cilium.io
|
||||||
resources:
|
resources:
|
||||||
- ciliumnetworkpolicies
|
- ciliumbgploadbalancerippools
|
||||||
- ciliumnetworkpolicies/status
|
- ciliumbgppeeringpolicies
|
||||||
|
- ciliumclusterwideenvoyconfigs
|
||||||
- ciliumclusterwidenetworkpolicies
|
- ciliumclusterwidenetworkpolicies
|
||||||
- ciliumclusterwidenetworkpolicies/status
|
- ciliumegressgatewaypolicies
|
||||||
|
- ciliumegressnatpolicies
|
||||||
- ciliumendpoints
|
- ciliumendpoints
|
||||||
- ciliumendpoints/status
|
- ciliumendpointslices
|
||||||
- ciliumnodes
|
- ciliumenvoyconfigs
|
||||||
- ciliumnodes/status
|
|
||||||
- ciliumidentities
|
- ciliumidentities
|
||||||
- ciliumlocalredirectpolicies
|
- ciliumlocalredirectpolicies
|
||||||
- ciliumlocalredirectpolicies/status
|
- ciliumnetworkpolicies
|
||||||
- ciliumegressnatpolicies
|
- ciliumnodes
|
||||||
- ciliumendpointslices
|
|
||||||
verbs:
|
verbs:
|
||||||
- '*'
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- cilium.io
|
||||||
|
resources:
|
||||||
|
- ciliumidentities
|
||||||
|
- ciliumendpoints
|
||||||
|
- ciliumnodes
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- apiGroups:
|
||||||
|
- cilium.io
|
||||||
|
# To synchronize garbage collection of such resources
|
||||||
|
resources:
|
||||||
|
- ciliumidentities
|
||||||
|
verbs:
|
||||||
|
- update
|
||||||
|
- apiGroups:
|
||||||
|
- cilium.io
|
||||||
|
resources:
|
||||||
|
- ciliumendpoints
|
||||||
|
verbs:
|
||||||
|
- delete
|
||||||
|
- get
|
||||||
|
- apiGroups:
|
||||||
|
- cilium.io
|
||||||
|
resources:
|
||||||
|
- ciliumnodes
|
||||||
|
- ciliumnodes/status
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- update
|
||||||
|
- apiGroups:
|
||||||
|
- cilium.io
|
||||||
|
resources:
|
||||||
|
- ciliumnetworkpolicies/status
|
||||||
|
- ciliumclusterwidenetworkpolicies/status
|
||||||
|
- ciliumendpoints/status
|
||||||
|
- ciliumendpoints
|
||||||
|
verbs:
|
||||||
|
- patch
|
||||||
---
|
---
|
||||||
# Source: cilium/templates/cilium-operator/clusterrole.yaml
|
# Source: cilium/templates/cilium-operator/clusterrole.yaml
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
@@ -289,14 +332,6 @@ rules:
|
|||||||
- get
|
- get
|
||||||
- list
|
- list
|
||||||
- watch
|
- watch
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- services
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- watch
|
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
@@ -304,14 +339,21 @@ rules:
|
|||||||
- services/status
|
- services/status
|
||||||
verbs:
|
verbs:
|
||||||
- update
|
- update
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
# to check apiserver connectivity
|
||||||
|
- namespaces
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
# to perform the translation of a CNP that contains `ToGroup` to its endpoints
|
# to perform the translation of a CNP that contains `ToGroup` to its endpoints
|
||||||
- services
|
- services
|
||||||
- endpoints
|
- endpoints
|
||||||
# to check apiserver connectivity
|
|
||||||
- namespaces
|
|
||||||
verbs:
|
verbs:
|
||||||
- get
|
- get
|
||||||
- list
|
- list
|
||||||
@@ -320,26 +362,73 @@ rules:
|
|||||||
- cilium.io
|
- cilium.io
|
||||||
resources:
|
resources:
|
||||||
- ciliumnetworkpolicies
|
- ciliumnetworkpolicies
|
||||||
- ciliumnetworkpolicies/status
|
|
||||||
- ciliumnetworkpolicies/finalizers
|
|
||||||
- ciliumclusterwidenetworkpolicies
|
- ciliumclusterwidenetworkpolicies
|
||||||
- ciliumclusterwidenetworkpolicies/status
|
|
||||||
- ciliumclusterwidenetworkpolicies/finalizers
|
|
||||||
- ciliumendpoints
|
|
||||||
- ciliumendpoints/status
|
|
||||||
- ciliumendpoints/finalizers
|
|
||||||
- ciliumnodes
|
|
||||||
- ciliumnodes/status
|
|
||||||
- ciliumnodes/finalizers
|
|
||||||
- ciliumidentities
|
|
||||||
- ciliumendpointslices
|
|
||||||
- ciliumidentities/status
|
|
||||||
- ciliumidentities/finalizers
|
|
||||||
- ciliumlocalredirectpolicies
|
|
||||||
- ciliumlocalredirectpolicies/status
|
|
||||||
- ciliumlocalredirectpolicies/finalizers
|
|
||||||
verbs:
|
verbs:
|
||||||
- '*'
|
# Create auto-generated CNPs and CCNPs from Policies that have 'toGroups'
|
||||||
|
- create
|
||||||
|
- update
|
||||||
|
- deletecollection
|
||||||
|
# To update the status of the CNPs and CCNPs
|
||||||
|
- patch
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- cilium.io
|
||||||
|
resources:
|
||||||
|
- ciliumnetworkpolicies/status
|
||||||
|
- ciliumclusterwidenetworkpolicies/status
|
||||||
|
verbs:
|
||||||
|
# Update the auto-generated CNPs and CCNPs status.
|
||||||
|
- patch
|
||||||
|
- update
|
||||||
|
- apiGroups:
|
||||||
|
- cilium.io
|
||||||
|
resources:
|
||||||
|
- ciliumendpoints
|
||||||
|
- ciliumidentities
|
||||||
|
verbs:
|
||||||
|
# To perform garbage collection of such resources
|
||||||
|
- delete
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- cilium.io
|
||||||
|
resources:
|
||||||
|
- ciliumidentities
|
||||||
|
verbs:
|
||||||
|
# To synchronize garbage collection of such resources
|
||||||
|
- update
|
||||||
|
- apiGroups:
|
||||||
|
- cilium.io
|
||||||
|
resources:
|
||||||
|
- ciliumnodes
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- update
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
# To perform CiliumNode garbage collector
|
||||||
|
- delete
|
||||||
|
- apiGroups:
|
||||||
|
- cilium.io
|
||||||
|
resources:
|
||||||
|
- ciliumnodes/status
|
||||||
|
verbs:
|
||||||
|
- update
|
||||||
|
- apiGroups:
|
||||||
|
- cilium.io
|
||||||
|
resources:
|
||||||
|
- ciliumendpointslices
|
||||||
|
- ciliumenvoyconfigs
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- update
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- delete
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- apiextensions.k8s.io
|
- apiextensions.k8s.io
|
||||||
resources:
|
resources:
|
||||||
@@ -348,8 +437,28 @@ rules:
|
|||||||
- create
|
- create
|
||||||
- get
|
- get
|
||||||
- list
|
- list
|
||||||
- update
|
|
||||||
- watch
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- apiextensions.k8s.io
|
||||||
|
resources:
|
||||||
|
- customresourcedefinitions
|
||||||
|
verbs:
|
||||||
|
- update
|
||||||
|
resourceNames:
|
||||||
|
- ciliumbgploadbalancerippools.cilium.io
|
||||||
|
- ciliumbgppeeringpolicies.cilium.io
|
||||||
|
- ciliumclusterwideenvoyconfigs.cilium.io
|
||||||
|
- ciliumclusterwidenetworkpolicies.cilium.io
|
||||||
|
- ciliumegressgatewaypolicies.cilium.io
|
||||||
|
- ciliumegressnatpolicies.cilium.io
|
||||||
|
- ciliumendpoints.cilium.io
|
||||||
|
- ciliumendpointslices.cilium.io
|
||||||
|
- ciliumenvoyconfigs.cilium.io
|
||||||
|
- ciliumexternalworkloads.cilium.io
|
||||||
|
- ciliumidentities.cilium.io
|
||||||
|
- ciliumlocalredirectpolicies.cilium.io
|
||||||
|
- ciliumnetworkpolicies.cilium.io
|
||||||
|
- ciliumnodes.cilium.io
|
||||||
# For cilium-operator running in HA mode.
|
# For cilium-operator running in HA mode.
|
||||||
#
|
#
|
||||||
# Cilium operator running in HA mode requires the use of ResourceLock for Leader Election
|
# Cilium operator running in HA mode requires the use of ResourceLock for Leader Election
|
||||||
@@ -401,7 +510,7 @@ metadata:
|
|||||||
namespace: kube-system
|
namespace: kube-system
|
||||||
annotations:
|
annotations:
|
||||||
prometheus.io/scrape: "true"
|
prometheus.io/scrape: "true"
|
||||||
prometheus.io/port: "9095"
|
prometheus.io/port: "9964"
|
||||||
labels:
|
labels:
|
||||||
k8s-app: cilium
|
k8s-app: cilium
|
||||||
spec:
|
spec:
|
||||||
@@ -411,7 +520,7 @@ spec:
|
|||||||
k8s-app: cilium
|
k8s-app: cilium
|
||||||
ports:
|
ports:
|
||||||
- name: envoy-metrics
|
- name: envoy-metrics
|
||||||
port: 9095
|
port: 9964
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
targetPort: envoy-metrics
|
targetPort: envoy-metrics
|
||||||
---
|
---
|
||||||
@@ -434,37 +543,14 @@ spec:
|
|||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
prometheus.io/port: "9090"
|
prometheus.io/port: "9962"
|
||||||
prometheus.io/scrape: "true"
|
prometheus.io/scrape: "true"
|
||||||
labels:
|
labels:
|
||||||
k8s-app: cilium
|
k8s-app: cilium
|
||||||
spec:
|
spec:
|
||||||
affinity:
|
|
||||||
nodeAffinity:
|
|
||||||
requiredDuringSchedulingIgnoredDuringExecution:
|
|
||||||
nodeSelectorTerms:
|
|
||||||
- matchExpressions:
|
|
||||||
- key: kubernetes.io/os
|
|
||||||
operator: In
|
|
||||||
values:
|
|
||||||
- linux
|
|
||||||
- matchExpressions:
|
|
||||||
- key: beta.kubernetes.io/os
|
|
||||||
operator: In
|
|
||||||
values:
|
|
||||||
- linux
|
|
||||||
podAntiAffinity:
|
|
||||||
requiredDuringSchedulingIgnoredDuringExecution:
|
|
||||||
- labelSelector:
|
|
||||||
matchExpressions:
|
|
||||||
- key: k8s-app
|
|
||||||
operator: In
|
|
||||||
values:
|
|
||||||
- cilium
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
containers:
|
containers:
|
||||||
- name: cilium-agent
|
- name: cilium-agent
|
||||||
image: "quay.io/cilium/cilium:v1.11.6@sha256:f7f93c26739b6641a3fa3d76b1e1605b15989f25d06625260099e01c8243f54c"
|
image: "quay.io/cilium/cilium:v1.12.3@sha256:30de50c4dc0a1e1077e9e7917a54d5cab253058b3f779822aec00f5c817ca826"
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- cilium-agent
|
- cilium-agent
|
||||||
@@ -544,6 +630,7 @@ spec:
|
|||||||
- "/cni-install.sh"
|
- "/cni-install.sh"
|
||||||
- "--enable-debug=false"
|
- "--enable-debug=false"
|
||||||
- "--cni-exclusive=true"
|
- "--cni-exclusive=true"
|
||||||
|
- "--log-file=/var/run/cilium/cilium-cni.log"
|
||||||
preStop:
|
preStop:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
@@ -556,16 +643,21 @@ spec:
|
|||||||
cpu: 100m
|
cpu: 100m
|
||||||
memory: 128Mi
|
memory: 128Mi
|
||||||
ports:
|
ports:
|
||||||
|
- name: peer-service
|
||||||
|
containerPort: 4244
|
||||||
|
hostPort: 4244
|
||||||
|
protocol: TCP
|
||||||
- name: prometheus
|
- name: prometheus
|
||||||
containerPort: 9090
|
containerPort: 9962
|
||||||
hostPort: 9090
|
hostPort: 9962
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
- name: envoy-metrics
|
- name: envoy-metrics
|
||||||
containerPort: 9095
|
containerPort: 9964
|
||||||
hostPort: 9095
|
hostPort: 9964
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
|
terminationMessagePolicy: FallbackToLogsOnError
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: bpf-maps
|
- name: bpf-maps
|
||||||
mountPath: /sys/fs/bpf
|
mountPath: /sys/fs/bpf
|
||||||
@@ -591,10 +683,9 @@ spec:
|
|||||||
readOnly: true
|
readOnly: true
|
||||||
- name: xtables-lock
|
- name: xtables-lock
|
||||||
mountPath: /run/xtables.lock
|
mountPath: /run/xtables.lock
|
||||||
hostNetwork: true
|
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: clean-cilium-state
|
- name: clean-cilium-state
|
||||||
image: "quay.io/cilium/cilium:v1.11.6@sha256:f7f93c26739b6641a3fa3d76b1e1605b15989f25d06625260099e01c8243f54c"
|
image: "quay.io/cilium/cilium:v1.12.3@sha256:30de50c4dc0a1e1077e9e7917a54d5cab253058b3f779822aec00f5c817ca826"
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- /init-container.sh
|
- /init-container.sh
|
||||||
@@ -615,6 +706,7 @@ spec:
|
|||||||
value: "api.cluster.local"
|
value: "api.cluster.local"
|
||||||
- name: KUBERNETES_SERVICE_PORT
|
- name: KUBERNETES_SERVICE_PORT
|
||||||
value: "6443"
|
value: "6443"
|
||||||
|
terminationMessagePolicy: FallbackToLogsOnError
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
@@ -629,12 +721,22 @@ spec:
|
|||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: 100m
|
cpu: 100m
|
||||||
memory: 100Mi
|
memory: 100Mi # wait-for-kube-proxy
|
||||||
restartPolicy: Always
|
restartPolicy: Always
|
||||||
priorityClassName: system-node-critical
|
priorityClassName: system-node-critical
|
||||||
serviceAccount: "cilium"
|
serviceAccount: "cilium"
|
||||||
serviceAccountName: "cilium"
|
serviceAccountName: "cilium"
|
||||||
terminationGracePeriodSeconds: 1
|
terminationGracePeriodSeconds: 1
|
||||||
|
hostNetwork: true
|
||||||
|
affinity:
|
||||||
|
podAntiAffinity:
|
||||||
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
- labelSelector:
|
||||||
|
matchLabels:
|
||||||
|
k8s-app: cilium
|
||||||
|
topologyKey: kubernetes.io/hostname
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/os: linux
|
||||||
tolerations:
|
tolerations:
|
||||||
- operator: Exists
|
- operator: Exists
|
||||||
volumes:
|
volumes:
|
||||||
@@ -713,21 +815,9 @@ spec:
|
|||||||
io.cilium/app: operator
|
io.cilium/app: operator
|
||||||
name: cilium-operator
|
name: cilium-operator
|
||||||
spec:
|
spec:
|
||||||
# In HA mode, cilium-operator pods must not be scheduled on the same
|
|
||||||
# node as they will clash with each other.
|
|
||||||
affinity:
|
|
||||||
podAntiAffinity:
|
|
||||||
requiredDuringSchedulingIgnoredDuringExecution:
|
|
||||||
- labelSelector:
|
|
||||||
matchExpressions:
|
|
||||||
- key: io.cilium/app
|
|
||||||
operator: In
|
|
||||||
values:
|
|
||||||
- operator
|
|
||||||
topologyKey: kubernetes.io/hostname
|
|
||||||
containers:
|
containers:
|
||||||
- name: cilium-operator
|
- name: cilium-operator
|
||||||
image: quay.io/cilium/operator-generic:v1.11.6@sha256:9f6063c7bcaede801a39315ec7c166309f6a6783e98665f6693939cf1701bc17
|
image: "quay.io/cilium/operator-generic:v1.12.3@sha256:816ec1da586139b595eeb31932c61a7c13b07fb4a0255341c0e0f18608e84eff"
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- cilium-operator-generic
|
- cilium-operator-generic
|
||||||
@@ -768,13 +858,27 @@ spec:
|
|||||||
- name: cilium-config-path
|
- name: cilium-config-path
|
||||||
mountPath: /tmp/cilium/config-map
|
mountPath: /tmp/cilium/config-map
|
||||||
readOnly: true
|
readOnly: true
|
||||||
|
terminationMessagePolicy: FallbackToLogsOnError
|
||||||
hostNetwork: true
|
hostNetwork: true
|
||||||
restartPolicy: Always
|
restartPolicy: Always
|
||||||
priorityClassName: system-cluster-critical
|
priorityClassName: system-cluster-critical
|
||||||
serviceAccount: "cilium-operator"
|
serviceAccount: "cilium-operator"
|
||||||
serviceAccountName: "cilium-operator"
|
serviceAccountName: "cilium-operator"
|
||||||
|
# In HA mode, cilium-operator pods must not be scheduled on the same
|
||||||
|
# node as they will clash with each other.
|
||||||
|
affinity:
|
||||||
|
podAntiAffinity:
|
||||||
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
- labelSelector:
|
||||||
|
matchLabels:
|
||||||
|
io.cilium/app: operator
|
||||||
|
topologyKey: kubernetes.io/hostname
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/os: linux
|
||||||
|
node-role.kubernetes.io/control-plane: ""
|
||||||
tolerations:
|
tolerations:
|
||||||
- operator: Exists
|
- effect: NoSchedule
|
||||||
|
operator: Exists
|
||||||
volumes:
|
volumes:
|
||||||
# To read the configuration from the config map
|
# To read the configuration from the config map
|
||||||
- name: cilium-config-path
|
- name: cilium-config-path
|
||||||
|
|||||||
@@ -8,6 +8,11 @@ operator:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
prometheus:
|
prometheus:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
nodeSelector:
|
||||||
|
node-role.kubernetes.io/control-plane: ""
|
||||||
|
tolerations:
|
||||||
|
- operator: Exists
|
||||||
|
effect: NoSchedule
|
||||||
|
|
||||||
identityAllocationMode: crd
|
identityAllocationMode: crd
|
||||||
kubeProxyReplacement: strict
|
kubeProxyReplacement: strict
|
||||||
@@ -45,6 +50,11 @@ externalIPs:
|
|||||||
enabled: true
|
enabled: true
|
||||||
hostFirewall:
|
hostFirewall:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
ingressController:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
securityContext:
|
||||||
|
privileged: true
|
||||||
|
|
||||||
hubble:
|
hubble:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|||||||
@@ -105,9 +105,6 @@ spec:
|
|||||||
serviceAccountName: coredns
|
serviceAccountName: coredns
|
||||||
enableServiceLinks: false
|
enableServiceLinks: false
|
||||||
tolerations:
|
tolerations:
|
||||||
- effect: NoSchedule
|
|
||||||
key: node-role.kubernetes.io/master
|
|
||||||
operator: Exists
|
|
||||||
- effect: NoSchedule
|
- effect: NoSchedule
|
||||||
key: node-role.kubernetes.io/control-plane
|
key: node-role.kubernetes.io/control-plane
|
||||||
operator: Exists
|
operator: Exists
|
||||||
@@ -117,7 +114,7 @@ spec:
|
|||||||
hostNetwork: true
|
hostNetwork: true
|
||||||
containers:
|
containers:
|
||||||
- name: coredns
|
- name: coredns
|
||||||
image: coredns/coredns:1.9.2
|
image: coredns/coredns:1.9.4
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
|
|||||||
@@ -138,18 +138,11 @@ spec:
|
|||||||
prometheus.io/port: '8085'
|
prometheus.io/port: '8085'
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: cluster-autoscaler
|
serviceAccountName: cluster-autoscaler
|
||||||
|
nodeSelector:
|
||||||
|
node-role.kubernetes.io/control-plane: ""
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: node-role.kubernetes.io/master
|
|
||||||
effect: NoSchedule
|
|
||||||
- key: node-role.kubernetes.io/control-plane
|
- key: node-role.kubernetes.io/control-plane
|
||||||
effect: NoSchedule
|
effect: NoSchedule
|
||||||
affinity:
|
|
||||||
nodeAffinity:
|
|
||||||
requiredDuringSchedulingIgnoredDuringExecution:
|
|
||||||
nodeSelectorTerms:
|
|
||||||
- matchExpressions:
|
|
||||||
- key: node-role.kubernetes.io/control-plane
|
|
||||||
operator: Exists
|
|
||||||
containers:
|
containers:
|
||||||
- name: cluster-autoscaler
|
- name: cluster-autoscaler
|
||||||
# image: k8s.gcr.io/autoscaling/cluster-autoscaler:v1.23.1
|
# image: k8s.gcr.io/autoscaling/cluster-autoscaler:v1.23.1
|
||||||
|
|||||||
@@ -4,10 +4,10 @@ apiVersion: v1
|
|||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-4.1.4
|
helm.sh/chart: ingress-nginx-4.4.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: "1.2.1"
|
app.kubernetes.io/version: "1.5.1"
|
||||||
app.kubernetes.io/part-of: ingress-nginx
|
app.kubernetes.io/part-of: ingress-nginx
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
@@ -20,10 +20,10 @@ apiVersion: v1
|
|||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-4.1.4
|
helm.sh/chart: ingress-nginx-4.4.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: "1.2.1"
|
app.kubernetes.io/version: "1.5.1"
|
||||||
app.kubernetes.io/part-of: ingress-nginx
|
app.kubernetes.io/part-of: ingress-nginx
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
@@ -66,10 +66,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
|||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-4.1.4
|
helm.sh/chart: ingress-nginx-4.4.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: "1.2.1"
|
app.kubernetes.io/version: "1.5.1"
|
||||||
app.kubernetes.io/part-of: ingress-nginx
|
app.kubernetes.io/part-of: ingress-nginx
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
@@ -86,6 +86,13 @@ rules:
|
|||||||
verbs:
|
verbs:
|
||||||
- list
|
- list
|
||||||
- watch
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- coordination.k8s.io
|
||||||
|
resources:
|
||||||
|
- leases
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
@@ -129,16 +136,24 @@ rules:
|
|||||||
- get
|
- get
|
||||||
- list
|
- list
|
||||||
- watch
|
- watch
|
||||||
|
- apiGroups:
|
||||||
|
- discovery.k8s.io
|
||||||
|
resources:
|
||||||
|
- endpointslices
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- get
|
||||||
---
|
---
|
||||||
# Source: ingress-nginx/templates/clusterrolebinding.yaml
|
# Source: ingress-nginx/templates/clusterrolebinding.yaml
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRoleBinding
|
kind: ClusterRoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-4.1.4
|
helm.sh/chart: ingress-nginx-4.4.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: "1.2.1"
|
app.kubernetes.io/version: "1.5.1"
|
||||||
app.kubernetes.io/part-of: ingress-nginx
|
app.kubernetes.io/part-of: ingress-nginx
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
@@ -156,10 +171,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
|||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-4.1.4
|
helm.sh/chart: ingress-nginx-4.4.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: "1.2.1"
|
app.kubernetes.io/version: "1.5.1"
|
||||||
app.kubernetes.io/part-of: ingress-nginx
|
app.kubernetes.io/part-of: ingress-nginx
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
@@ -213,12 +228,17 @@ rules:
|
|||||||
- get
|
- get
|
||||||
- list
|
- list
|
||||||
- watch
|
- watch
|
||||||
|
# TODO(Jintao Zhang)
|
||||||
|
# Once we release a new version of the controller,
|
||||||
|
# we will be able to remove the configmap related permissions
|
||||||
|
# We have used the Lease API for selection
|
||||||
|
# ref: https://github.com/kubernetes/ingress-nginx/pull/8921
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
- configmaps
|
- configmaps
|
||||||
resourceNames:
|
resourceNames:
|
||||||
- ingress-controller-leader
|
- ingress-nginx-leader
|
||||||
verbs:
|
verbs:
|
||||||
- get
|
- get
|
||||||
- update
|
- update
|
||||||
@@ -228,6 +248,21 @@ rules:
|
|||||||
- configmaps
|
- configmaps
|
||||||
verbs:
|
verbs:
|
||||||
- create
|
- create
|
||||||
|
- apiGroups:
|
||||||
|
- coordination.k8s.io
|
||||||
|
resources:
|
||||||
|
- leases
|
||||||
|
resourceNames:
|
||||||
|
- ingress-nginx-leader
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- update
|
||||||
|
- apiGroups:
|
||||||
|
- coordination.k8s.io
|
||||||
|
resources:
|
||||||
|
- leases
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
@@ -235,16 +270,24 @@ rules:
|
|||||||
verbs:
|
verbs:
|
||||||
- create
|
- create
|
||||||
- patch
|
- patch
|
||||||
|
- apiGroups:
|
||||||
|
- discovery.k8s.io
|
||||||
|
resources:
|
||||||
|
- endpointslices
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
|
- get
|
||||||
---
|
---
|
||||||
# Source: ingress-nginx/templates/controller-rolebinding.yaml
|
# Source: ingress-nginx/templates/controller-rolebinding.yaml
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: RoleBinding
|
kind: RoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-4.1.4
|
helm.sh/chart: ingress-nginx-4.4.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: "1.2.1"
|
app.kubernetes.io/version: "1.5.1"
|
||||||
app.kubernetes.io/part-of: ingress-nginx
|
app.kubernetes.io/part-of: ingress-nginx
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
@@ -265,10 +308,10 @@ kind: Service
|
|||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-4.1.4
|
helm.sh/chart: ingress-nginx-4.4.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: "1.2.1"
|
app.kubernetes.io/version: "1.5.1"
|
||||||
app.kubernetes.io/part-of: ingress-nginx
|
app.kubernetes.io/part-of: ingress-nginx
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
@@ -302,10 +345,10 @@ apiVersion: apps/v1
|
|||||||
kind: DaemonSet
|
kind: DaemonSet
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-4.1.4
|
helm.sh/chart: ingress-nginx-4.4.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: "1.2.1"
|
app.kubernetes.io/version: "1.5.1"
|
||||||
app.kubernetes.io/part-of: ingress-nginx
|
app.kubernetes.io/part-of: ingress-nginx
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
@@ -336,7 +379,7 @@ spec:
|
|||||||
dnsPolicy: ClusterFirstWithHostNet
|
dnsPolicy: ClusterFirstWithHostNet
|
||||||
containers:
|
containers:
|
||||||
- name: controller
|
- name: controller
|
||||||
image: "registry.k8s.io/ingress-nginx/controller:v1.2.1@sha256:5516d103a9c2ecc4f026efbd4b40662ce22dc1f824fb129ed121460aaa5c47f8"
|
image: "registry.k8s.io/ingress-nginx/controller:v1.5.1@sha256:4ba73c697770664c1e00e9f968de14e08f606ff961c76e5d7033a4a9c593c629"
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
lifecycle:
|
lifecycle:
|
||||||
preStop:
|
preStop:
|
||||||
@@ -345,7 +388,7 @@ spec:
|
|||||||
- /wait-shutdown
|
- /wait-shutdown
|
||||||
args:
|
args:
|
||||||
- /nginx-ingress-controller
|
- /nginx-ingress-controller
|
||||||
- --election-id=ingress-controller-leader
|
- --election-id=ingress-nginx-leader
|
||||||
- --controller-class=k8s.io/ingress-nginx
|
- --controller-class=k8s.io/ingress-nginx
|
||||||
- --ingress-class=nginx
|
- --ingress-class=nginx
|
||||||
- --configmap=$(POD_NAMESPACE)/ingress-nginx-controller
|
- --configmap=$(POD_NAMESPACE)/ingress-nginx-controller
|
||||||
@@ -428,10 +471,10 @@ apiVersion: networking.k8s.io/v1
|
|||||||
kind: IngressClass
|
kind: IngressClass
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-4.1.4
|
helm.sh/chart: ingress-nginx-4.4.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: "1.2.1"
|
app.kubernetes.io/version: "1.5.1"
|
||||||
app.kubernetes.io/part-of: ingress-nginx
|
app.kubernetes.io/part-of: ingress-nginx
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
|
|||||||
@@ -59,15 +59,15 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: local-path-provisioner
|
app: local-path-provisioner
|
||||||
spec:
|
spec:
|
||||||
|
nodeSelector:
|
||||||
|
node-role.kubernetes.io/control-plane: ""
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: "node-role.kubernetes.io/master"
|
|
||||||
effect: NoSchedule
|
|
||||||
- key: "node-role.kubernetes.io/control-plane"
|
- key: "node-role.kubernetes.io/control-plane"
|
||||||
effect: NoSchedule
|
effect: NoSchedule
|
||||||
serviceAccountName: local-path-provisioner-service-account
|
serviceAccountName: local-path-provisioner-service-account
|
||||||
containers:
|
containers:
|
||||||
- name: local-path-provisioner
|
- name: local-path-provisioner
|
||||||
image: rancher/local-path-provisioner:v0.0.19
|
image: rancher/local-path-provisioner:v0.0.23
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- local-path-provisioner
|
- local-path-provisioner
|
||||||
@@ -117,40 +117,12 @@ data:
|
|||||||
}
|
}
|
||||||
setup: |-
|
setup: |-
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
while getopts "m:s:p:" opt
|
set -eu
|
||||||
do
|
mkdir -m 0777 -p "$VOL_DIR"
|
||||||
case $opt in
|
|
||||||
p)
|
|
||||||
absolutePath=$OPTARG
|
|
||||||
;;
|
|
||||||
s)
|
|
||||||
sizeInBytes=$OPTARG
|
|
||||||
;;
|
|
||||||
m)
|
|
||||||
volMode=$OPTARG
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
mkdir -m 0777 -p ${absolutePath}
|
|
||||||
teardown: |-
|
teardown: |-
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
while getopts "m:s:p:" opt
|
set -eu
|
||||||
do
|
rm -rf "$VOL_DIR"
|
||||||
case $opt in
|
|
||||||
p)
|
|
||||||
absolutePath=$OPTARG
|
|
||||||
;;
|
|
||||||
s)
|
|
||||||
sizeInBytes=$OPTARG
|
|
||||||
;;
|
|
||||||
m)
|
|
||||||
volMode=$OPTARG
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
rm -rf ${absolutePath}
|
|
||||||
helperPod.yaml: |-
|
helperPod.yaml: |-
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Pod
|
kind: Pod
|
||||||
|
|||||||
@@ -131,10 +131,6 @@ spec:
|
|||||||
kubernetes.io/os: linux
|
kubernetes.io/os: linux
|
||||||
node-role.kubernetes.io/control-plane: ""
|
node-role.kubernetes.io/control-plane: ""
|
||||||
tolerations:
|
tolerations:
|
||||||
- key: "CriticalAddonsOnly"
|
|
||||||
operator: "Exists"
|
|
||||||
- key: "node-role.kubernetes.io/master"
|
|
||||||
effect: NoSchedule
|
|
||||||
- key: "node-role.kubernetes.io/control-plane"
|
- key: "node-role.kubernetes.io/control-plane"
|
||||||
effect: NoSchedule
|
effect: NoSchedule
|
||||||
containers:
|
containers:
|
||||||
@@ -144,7 +140,7 @@ spec:
|
|||||||
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
|
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
|
||||||
- --kubelet-use-node-status-port
|
- --kubelet-use-node-status-port
|
||||||
- --metric-resolution=15s
|
- --metric-resolution=15s
|
||||||
image: k8s.gcr.io/metrics-server/metrics-server:v0.5.0
|
image: k8s.gcr.io/metrics-server/metrics-server:v0.6.1
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ resource "hcloud_server" "controlplane" {
|
|||||||
hcloud_image = data.hcloud_image.talos.id
|
hcloud_image = data.hcloud_image.talos.id
|
||||||
robot_user = var.robot_user
|
robot_user = var.robot_user
|
||||||
robot_password = var.robot_password
|
robot_password = var.robot_password
|
||||||
labels = "topology.kubernetes.io/region=${element(var.regions, count.index)}"
|
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -10,11 +10,17 @@ machine:
|
|||||||
- "${ipv4_local}"
|
- "${ipv4_local}"
|
||||||
- "${ipv4_vip}"
|
- "${ipv4_vip}"
|
||||||
- "${apiDomain}"
|
- "${apiDomain}"
|
||||||
|
features:
|
||||||
|
kubernetesTalosAPIAccess:
|
||||||
|
enabled: true
|
||||||
|
allowedRoles:
|
||||||
|
- os:reader
|
||||||
|
allowedKubernetesNamespaces:
|
||||||
|
- kube-system
|
||||||
kubelet:
|
kubelet:
|
||||||
extraArgs:
|
extraArgs:
|
||||||
node-ip: "${ipv4_local}"
|
node-ip: "${ipv4_local}"
|
||||||
rotate-server-certificates: true
|
rotate-server-certificates: true
|
||||||
node-labels: "${labels}"
|
|
||||||
clusterDNS:
|
clusterDNS:
|
||||||
- 169.254.2.53
|
- 169.254.2.53
|
||||||
- ${cidrhost(split(",",serviceSubnets)[0], 10)}
|
- ${cidrhost(split(",",serviceSubnets)[0], 10)}
|
||||||
@@ -143,6 +149,7 @@ cluster:
|
|||||||
externalCloudProvider:
|
externalCloudProvider:
|
||||||
enabled: true
|
enabled: true
|
||||||
manifests:
|
manifests:
|
||||||
|
- https://raw.githubusercontent.com/siderolabs/talos-cloud-controller-manager/main/docs/deploy/cloud-controller-manager.yml
|
||||||
- https://raw.githubusercontent.com/sergelogvinov/terraform-talos/main/hetzner/deployments/hcloud-cloud-controller-manager.yaml
|
- https://raw.githubusercontent.com/sergelogvinov/terraform-talos/main/hetzner/deployments/hcloud-cloud-controller-manager.yaml
|
||||||
- https://raw.githubusercontent.com/sergelogvinov/terraform-talos/main/hetzner/deployments/hcloud-csi.yaml
|
- https://raw.githubusercontent.com/sergelogvinov/terraform-talos/main/hetzner/deployments/hcloud-csi.yaml
|
||||||
- https://raw.githubusercontent.com/sergelogvinov/terraform-talos/main/hetzner/deployments/kubelet-serving-cert-approver.yaml
|
- https://raw.githubusercontent.com/sergelogvinov/terraform-talos/main/hetzner/deployments/kubelet-serving-cert-approver.yaml
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ build {
|
|||||||
sources = ["source.hcloud.talos"]
|
sources = ["source.hcloud.talos"]
|
||||||
|
|
||||||
provisioner "file" {
|
provisioner "file" {
|
||||||
source = "../../../talos/_out/hcloud-amd64.raw.xz"
|
source = "hcloud-amd64.raw.xz"
|
||||||
destination = "/tmp/talos.raw.xz"
|
destination = "/tmp/talos.raw.xz"
|
||||||
}
|
}
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ variable "hcloud_token" {
|
|||||||
|
|
||||||
variable "talos_version" {
|
variable "talos_version" {
|
||||||
type = string
|
type = string
|
||||||
default = "v1.2.2"
|
default = "v1.2.6"
|
||||||
}
|
}
|
||||||
|
|
||||||
locals {
|
locals {
|
||||||
|
|||||||
Reference in New Issue
Block a user