95 lines
2.8 KiB
YAML
95 lines
2.8 KiB
YAML
apiVersion: v1
|
|
data:
|
|
run-script.ps1: |-
|
|
$ErrorActionPreference = "Stop";
|
|
mkdir -force /host/var/lib/kube-proxy/var/run/secrets/kubernetes.io/serviceaccount
|
|
mkdir -force /host/k/kube-proxy
|
|
|
|
cp -force /k/kube-proxy/* /host/k/kube-proxy
|
|
cp -force /var/lib/kube-proxy/* /host/var/lib/kube-proxy
|
|
cp -force /var/run/secrets/kubernetes.io/serviceaccount/* /host/var/lib/kube-proxy/var/run/secrets/kubernetes.io/serviceaccount #FIXME?
|
|
|
|
$networkName = (Get-Content /host/etc/cni/net.d/* | ConvertFrom-Json).name
|
|
$sourceVip = ($env:POD_IP -split "\.")[0..2] + 0 -join "."
|
|
yq w -i /host/var/lib/kube-proxy/config.conf winkernel.sourceVip $sourceVip
|
|
yq w -i /host/var/lib/kube-proxy/config.conf winkernel.networkName $networkName
|
|
yq w -i /host/var/lib/kube-proxy/config.conf featureGates.WinOverlay true
|
|
yq w -i /host/var/lib/kube-proxy/config.conf mode "kernelspace"
|
|
wins cli process run --path /k/kube-proxy/kube-proxy.exe --args "--v=6 --config=/var/lib/kube-proxy/config.conf --hostname-override=$env:NODE_NAME --feature-gates=WinOverlay=true"
|
|
|
|
kind: ConfigMap
|
|
apiVersion: v1
|
|
metadata:
|
|
labels:
|
|
app: kube-proxy
|
|
name: kube-proxy-windows
|
|
namespace: kube-system
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: DaemonSet
|
|
metadata:
|
|
labels:
|
|
k8s-app: kube-proxy
|
|
name: kube-proxy-windows
|
|
namespace: kube-system
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
k8s-app: kube-proxy-windows
|
|
template:
|
|
metadata:
|
|
labels:
|
|
k8s-app: kube-proxy-windows
|
|
spec:
|
|
serviceAccountName: kube-proxy
|
|
containers:
|
|
- command:
|
|
- powershell
|
|
args:
|
|
- -file
|
|
- /var/lib/kube-proxy-windows/run-script.ps1
|
|
env:
|
|
- name: NODE_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: spec.nodeName
|
|
- name: POD_IP
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: status.podIP
|
|
image: sigwindowstools/kube-proxy:v1.18.5
|
|
name: kube-proxy
|
|
volumeMounts:
|
|
- name: host
|
|
mountPath: /host
|
|
- name: wins
|
|
mountPath: \\.\pipe\rancher_wins
|
|
- mountPath: /var/lib/kube-proxy
|
|
name: kube-proxy
|
|
- mountPath: /var/lib/kube-proxy-windows
|
|
name: kube-proxy-windows
|
|
nodeSelector:
|
|
kubernetes.io/os: windows
|
|
tolerations:
|
|
- key: CriticalAddonsOnly
|
|
operator: Exists
|
|
- operator: Exists
|
|
volumes:
|
|
- configMap:
|
|
defaultMode: 420
|
|
name: kube-proxy-windows
|
|
name: kube-proxy-windows
|
|
- configMap:
|
|
name: kube-proxy
|
|
name: kube-proxy
|
|
- hostPath:
|
|
path: /
|
|
name: host
|
|
- name: wins
|
|
hostPath:
|
|
path: \\.\pipe\rancher_wins
|
|
type: null
|
|
updateStrategy:
|
|
type: RollingUpdate
|