generated from phoenix-oss/tenant-tpl
Compare commits
65 commits
595b133521
...
94a23cce8e
Author | SHA1 | Date | |
---|---|---|---|
94a23cce8e | |||
c84c1fcd78 | |||
fb1c82659f | |||
b15d8e6882 | |||
f76153ff5d | |||
9980d50b07 | |||
6a719ccdc8 | |||
516c1bd034 | |||
da7f7f73c1 | |||
410cb99173 | |||
4cf5bfcceb | |||
070ef198ed | |||
1e611e5621 | |||
bd27459945 | |||
8e7ea57673 | |||
1a44751d94 | |||
32ff5115f0 | |||
9532ba8fe8 | |||
883d8152b8 | |||
284040d065 | |||
de9f1d5014 | |||
633f1ca564 | |||
98ee757f94 | |||
eeaece034f | |||
d5f8404835 | |||
b30d768472 | |||
8862ff90eb | |||
628d1de0e3 | |||
4ac200e1dc | |||
ad92d3393a | |||
49c60fe87e | |||
be88f635f1 | |||
1118c89f66 | |||
7134c2d905 | |||
989a3467be | |||
dc6e4274dd | |||
29d8d2fed2 | |||
631b4a1ede | |||
84bd7195fc | |||
1b8a324f7e | |||
c32ae8b40a | |||
4c5a76347d | |||
64458e5bad | |||
4d2924f7d4 | |||
63019b6529 | |||
bfd039dd32 | |||
55105e3704 | |||
aacdc46fb0 | |||
387d3e65bf | |||
bd1784429c | |||
99076daf8e | |||
ca3e37e667 | |||
87de70c51e | |||
5e7cad0edc | |||
78d1e0d3ab | |||
0f54f22879 | |||
1604b7e613 | |||
9b64dfad0b | |||
86f10cbd6d | |||
6a78fbf5c0 | |||
4fda3a9eff | |||
d638ec4c45 | |||
e2fb066279 | |||
6abfc970df | |||
1f600af0f4 |
27 changed files with 824 additions and 11 deletions
18
firewall-s3/ks-vm.yaml
Normal file
18
firewall-s3/ks-vm.yaml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: &app fortigate-s3
|
||||||
|
namespace: ${TENANT_NAMESPACE}
|
||||||
|
spec:
|
||||||
|
commonMetadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: *app
|
||||||
|
path: ./firewall-s3
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: tenant-repos
|
||||||
|
wait: false
|
||||||
|
interval: 30m
|
||||||
|
retryInterval: 1m
|
||||||
|
timeout: 5m
|
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: fortigate-lb-test
|
||||||
|
namespace: ${TENANT_NAMESPACE}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/component: fortigate-lb
|
||||||
|
spec:
|
||||||
|
type: LoadBalancer
|
||||||
|
externalTrafficPolicy: Local
|
||||||
|
ports:
|
||||||
|
- port: 4500
|
||||||
|
name: ipsec-nat
|
||||||
|
targetPort: 4500
|
||||||
|
protocol: UDP
|
||||||
|
- port: 500
|
||||||
|
name: key-management
|
||||||
|
targetPort: 500
|
||||||
|
protocol: UDP
|
||||||
|
#- port: 22
|
||||||
|
# name: ssh
|
||||||
|
# targetPort: 22
|
||||||
|
# protocol: TCP
|
||||||
|
- port: 443
|
||||||
|
name: https
|
||||||
|
targetPort: 443
|
||||||
|
protocol: TCP
|
||||||
|
selector:
|
||||||
|
kubevirt.io/domain: fortigate-ksd
|
20
firewall-s3/test-connectivity/network-definitions/lan.yaml
Normal file
20
firewall-s3/test-connectivity/network-definitions/lan.yaml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# apiVersion: "k8s.cni.cncf.io/v1"
|
||||||
|
# kind: NetworkAttachmentDefinition
|
||||||
|
# metadata:
|
||||||
|
# name: lan-net
|
||||||
|
# namespace: ${TENANT_NAMESPACE}
|
||||||
|
# spec:
|
||||||
|
# config: '{
|
||||||
|
# "cniVersion": "0.3.1",
|
||||||
|
# "type": "bridge",
|
||||||
|
# "bridge": "br-lan",
|
||||||
|
# "ipam": {
|
||||||
|
# "type": "static",
|
||||||
|
# "addresses": [
|
||||||
|
# {
|
||||||
|
# "address": "172.168.100.2/24",
|
||||||
|
# "gateway": "172.168.100.1"
|
||||||
|
# }
|
||||||
|
# ]
|
||||||
|
# }
|
||||||
|
# }'
|
20
firewall-s3/test-connectivity/network-definitions/mgmt.yaml
Normal file
20
firewall-s3/test-connectivity/network-definitions/mgmt.yaml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# apiVersion: "k8s.cni.cncf.io/v1"
|
||||||
|
# kind: NetworkAttachmentDefinition
|
||||||
|
# metadata:
|
||||||
|
# name: mgmt-net
|
||||||
|
# namespace: ${TENANT_NAMESPACE}
|
||||||
|
# spec:
|
||||||
|
# config: '{
|
||||||
|
# "cniVersion": "0.3.1",
|
||||||
|
# "type": "bridge",
|
||||||
|
# "bridge": "br-mgmt",
|
||||||
|
# "ipam": {
|
||||||
|
# "type": "static",
|
||||||
|
# "addresses": [
|
||||||
|
# {
|
||||||
|
# "address": "192.168.10.100/24",
|
||||||
|
# "gateway": "192.168.10.1"
|
||||||
|
# }
|
||||||
|
# ]
|
||||||
|
# }
|
||||||
|
# }'
|
77
firewall-s3/test-connectivity/vm/fortigate.yaml
Normal file
77
firewall-s3/test-connectivity/vm/fortigate.yaml
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
# apiVersion: kubevirt.io/v1
|
||||||
|
# kind: VirtualMachine
|
||||||
|
# metadata:
|
||||||
|
# name: fortigate-ksd
|
||||||
|
# namespace: ${TENANT_NAMESPACE}
|
||||||
|
# spec:
|
||||||
|
# dataVolumeTemplates:
|
||||||
|
# - metadata:
|
||||||
|
# name: fortigate-rootdisk-ksd
|
||||||
|
# spec:
|
||||||
|
# source:
|
||||||
|
# http:
|
||||||
|
# url: "https://glacier-1.kvant.cloud/ocp-virt-images/sources/fortios_7_6_3.qcow2"
|
||||||
|
# #secretRef: s3-virt-credentials
|
||||||
|
# storage:
|
||||||
|
# resources:
|
||||||
|
# requests:
|
||||||
|
# storage: 30Gi
|
||||||
|
# runStrategy: Always
|
||||||
|
# template:
|
||||||
|
# metadata:
|
||||||
|
# labels:
|
||||||
|
# kubevirt.io/domain: fortigate-ksd
|
||||||
|
# spec:
|
||||||
|
# domain:
|
||||||
|
# cpu:
|
||||||
|
# cores: 1
|
||||||
|
# memory:
|
||||||
|
# guest: 2Gi
|
||||||
|
# features:
|
||||||
|
# acpi: {}
|
||||||
|
# smm:
|
||||||
|
# enabled: true
|
||||||
|
# firmware:
|
||||||
|
# bootloader:
|
||||||
|
# efi:
|
||||||
|
# secureBoot: false
|
||||||
|
# devices:
|
||||||
|
# rng: {}
|
||||||
|
# networkInterfaceMultiqueue: true
|
||||||
|
# interfaces:
|
||||||
|
# - name: wan
|
||||||
|
# masquerade: {}
|
||||||
|
# ports:
|
||||||
|
# - port: 4500
|
||||||
|
# - port: 443
|
||||||
|
# - port: 22
|
||||||
|
# - port: 500
|
||||||
|
# - name: mgmt
|
||||||
|
# bridge: {}
|
||||||
|
# - name: lan
|
||||||
|
# bridge: {}
|
||||||
|
# disks:
|
||||||
|
# - disk:
|
||||||
|
# bus: sata
|
||||||
|
# name: rootdisk
|
||||||
|
# resources:
|
||||||
|
# requests:
|
||||||
|
# memory: 2Gi
|
||||||
|
# cpu: 1
|
||||||
|
# limits:
|
||||||
|
# memory: 2Gi
|
||||||
|
# cpu: 1
|
||||||
|
# networks:
|
||||||
|
# - name: wan
|
||||||
|
# pod: {}
|
||||||
|
# - name: mgmt
|
||||||
|
# multus:
|
||||||
|
# networkName: ${TENANT_NAMESPACE}/mgmt-net
|
||||||
|
# - name: lan
|
||||||
|
# multus:
|
||||||
|
# networkName: ${TENANT_NAMESPACE}/lan-net
|
||||||
|
# terminationGracePeriodSeconds: 180
|
||||||
|
# volumes:
|
||||||
|
# - name: rootdisk
|
||||||
|
# dataVolume:
|
||||||
|
# name: fortigate-rootdisk-ksd
|
73
firewall-s3/test-connectivity/vm/strongswan.yaml
Normal file
73
firewall-s3/test-connectivity/vm/strongswan.yaml
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
# apiVersion: kubevirt.io/v1
|
||||||
|
# kind: VirtualMachine
|
||||||
|
# metadata:
|
||||||
|
# name: strongswan
|
||||||
|
# namespace: ${TENANT_NAMESPACE}
|
||||||
|
# spec:
|
||||||
|
# running: true
|
||||||
|
# template:
|
||||||
|
# metadata:
|
||||||
|
# labels:
|
||||||
|
# kubevirt.io/domain: strongswan
|
||||||
|
# spec:
|
||||||
|
# domain:
|
||||||
|
# cpu:
|
||||||
|
# cores: 2
|
||||||
|
# resources:
|
||||||
|
# requests:
|
||||||
|
# memory: 2Gi
|
||||||
|
# cpu: 1
|
||||||
|
# limits:
|
||||||
|
# memory: 2Gi
|
||||||
|
# cpu: 2
|
||||||
|
# memory:
|
||||||
|
# guest: 2Gi
|
||||||
|
# devices:
|
||||||
|
# rng: {}
|
||||||
|
# networkInterfaceMultiqueue: true
|
||||||
|
# disks:
|
||||||
|
# - name: containerdisk
|
||||||
|
# disk:
|
||||||
|
# bus: virtio
|
||||||
|
# - name: cloudinitdisk
|
||||||
|
# disk:
|
||||||
|
# bus: virtio
|
||||||
|
# interfaces:
|
||||||
|
# - name: wan
|
||||||
|
# masquerade: {}
|
||||||
|
# ports:
|
||||||
|
# - port: 4500
|
||||||
|
# - port: 443
|
||||||
|
# - port: 22
|
||||||
|
# - port: 500
|
||||||
|
# - name: mgmt
|
||||||
|
# bridge: {}
|
||||||
|
# - name: lan
|
||||||
|
# bridge: {}
|
||||||
|
# networks:
|
||||||
|
# - name: wan
|
||||||
|
# pod: {}
|
||||||
|
# - name: mgmt
|
||||||
|
# multus:
|
||||||
|
# networkName: ${TENANT_NAMESPACE}/mgmt-net
|
||||||
|
# - name: lan
|
||||||
|
# multus:
|
||||||
|
# networkName: ${TENANT_NAMESPACE}/lan-net
|
||||||
|
# terminationGracePeriodSeconds: 180
|
||||||
|
# volumes:
|
||||||
|
# - name: containerdisk
|
||||||
|
# containerDisk:
|
||||||
|
# image: quay.io/containerdisks/ubuntu:22.04
|
||||||
|
# - name: cloudinitdisk
|
||||||
|
# cloudInitNoCloud:
|
||||||
|
# userData: |
|
||||||
|
# #cloud-config
|
||||||
|
# users:
|
||||||
|
# - name: testuser
|
||||||
|
# groups: [sudo]
|
||||||
|
# sudo: "ALL=(ALL) NOPASSWD:ALL"
|
||||||
|
# lock_passwd: false
|
||||||
|
# passwd: "$6$oMZf5uou7t0.oAJ1$825Te06yt7JZwHSSj4MGQMjpd87LflANQpajCwIVPASkKZdOJo4L2bAEDDuK.jtu.fsRNc9bZAsYefmoqdN8O1"
|
||||||
|
# chpasswd:
|
||||||
|
# expire: false
|
||||||
|
# ssh_pwauth: true
|
30
firewall-s3/vm/ksd/loadbalancers/fortigate-wan.yaml
Normal file
30
firewall-s3/vm/ksd/loadbalancers/fortigate-wan.yaml
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: fortigate-lb
|
||||||
|
namespace: ${TENANT_NAMESPACE}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/component: fortigate-lb
|
||||||
|
spec:
|
||||||
|
type: LoadBalancer
|
||||||
|
externalTrafficPolicy: Local
|
||||||
|
ports:
|
||||||
|
- port: 4500
|
||||||
|
name: ipsec-nat
|
||||||
|
targetPort: 4500
|
||||||
|
protocol: UDP
|
||||||
|
- port: 500
|
||||||
|
name: key-management
|
||||||
|
targetPort: 500
|
||||||
|
protocol: UDP
|
||||||
|
#- port: 22
|
||||||
|
# name: ssh
|
||||||
|
# targetPort: 22
|
||||||
|
# protocol: TCP
|
||||||
|
- port: 443
|
||||||
|
name: https
|
||||||
|
targetPort: 443
|
||||||
|
protocol: TCP
|
||||||
|
selector:
|
||||||
|
kubevirt.io/domain: fortigate-ksd
|
20
firewall-s3/vm/ksd/network-definitions/lan.yaml
Normal file
20
firewall-s3/vm/ksd/network-definitions/lan.yaml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
apiVersion: "k8s.cni.cncf.io/v1"
|
||||||
|
kind: NetworkAttachmentDefinition
|
||||||
|
metadata:
|
||||||
|
name: lan-net
|
||||||
|
namespace: ${TENANT_NAMESPACE}
|
||||||
|
spec:
|
||||||
|
config: '{
|
||||||
|
"cniVersion": "0.3.1",
|
||||||
|
"type": "bridge",
|
||||||
|
"bridge": "br-lan",
|
||||||
|
"ipam": {
|
||||||
|
"type": "static",
|
||||||
|
"addresses": [
|
||||||
|
{
|
||||||
|
"address": "172.168.100.2/24",
|
||||||
|
"gateway": "172.168.100.1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}'
|
20
firewall-s3/vm/ksd/network-definitions/mgmt.yaml
Normal file
20
firewall-s3/vm/ksd/network-definitions/mgmt.yaml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
apiVersion: "k8s.cni.cncf.io/v1"
|
||||||
|
kind: NetworkAttachmentDefinition
|
||||||
|
metadata:
|
||||||
|
name: mgmt-net
|
||||||
|
namespace: ${TENANT_NAMESPACE}
|
||||||
|
spec:
|
||||||
|
config: '{
|
||||||
|
"cniVersion": "0.3.1",
|
||||||
|
"type": "bridge",
|
||||||
|
"bridge": "br-mgmt",
|
||||||
|
"ipam": {
|
||||||
|
"type": "static",
|
||||||
|
"addresses": [
|
||||||
|
{
|
||||||
|
"address": "192.168.10.100/24",
|
||||||
|
"gateway": "192.168.10.1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}'
|
77
firewall-s3/vm/ksd/vm/fortigate.yaml
Normal file
77
firewall-s3/vm/ksd/vm/fortigate.yaml
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
apiVersion: kubevirt.io/v1
|
||||||
|
kind: VirtualMachine
|
||||||
|
metadata:
|
||||||
|
name: fortigate-ksd
|
||||||
|
namespace: ${TENANT_NAMESPACE}
|
||||||
|
spec:
|
||||||
|
dataVolumeTemplates:
|
||||||
|
- metadata:
|
||||||
|
name: fortigate-rootdisk-ksd
|
||||||
|
spec:
|
||||||
|
source:
|
||||||
|
http:
|
||||||
|
url: "https://glacier-1.kvant.cloud/ocp-virt-images/sources/fortios_7_6_3.qcow2"
|
||||||
|
#secretRef: s3-virt-credentials
|
||||||
|
storage:
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 30Gi
|
||||||
|
runStrategy: Always
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
kubevirt.io/domain: fortigate-ksd
|
||||||
|
spec:
|
||||||
|
domain:
|
||||||
|
cpu:
|
||||||
|
cores: 1
|
||||||
|
memory:
|
||||||
|
guest: 2Gi
|
||||||
|
features:
|
||||||
|
acpi: {}
|
||||||
|
smm:
|
||||||
|
enabled: true
|
||||||
|
firmware:
|
||||||
|
bootloader:
|
||||||
|
efi:
|
||||||
|
secureBoot: false
|
||||||
|
devices:
|
||||||
|
rng: {}
|
||||||
|
networkInterfaceMultiqueue: true
|
||||||
|
interfaces:
|
||||||
|
- name: wan
|
||||||
|
masquerade: {}
|
||||||
|
ports:
|
||||||
|
- port: 4500
|
||||||
|
- port: 443
|
||||||
|
- port: 22
|
||||||
|
- port: 500
|
||||||
|
- name: mgmt
|
||||||
|
bridge: {}
|
||||||
|
- name: lan
|
||||||
|
bridge: {}
|
||||||
|
disks:
|
||||||
|
- disk:
|
||||||
|
bus: sata
|
||||||
|
name: rootdisk
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: 2Gi
|
||||||
|
cpu: 1
|
||||||
|
limits:
|
||||||
|
memory: 2Gi
|
||||||
|
cpu: 1
|
||||||
|
networks:
|
||||||
|
- name: wan
|
||||||
|
pod: {}
|
||||||
|
- name: mgmt
|
||||||
|
multus:
|
||||||
|
networkName: ${TENANT_NAMESPACE}/mgmt-net
|
||||||
|
- name: lan
|
||||||
|
multus:
|
||||||
|
networkName: ${TENANT_NAMESPACE}/lan-net
|
||||||
|
terminationGracePeriodSeconds: 180
|
||||||
|
volumes:
|
||||||
|
- name: rootdisk
|
||||||
|
dataVolume:
|
||||||
|
name: fortigate-rootdisk-ksd
|
73
firewall-s3/vm/ksd/vm/strongswan.yaml
Normal file
73
firewall-s3/vm/ksd/vm/strongswan.yaml
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
apiVersion: kubevirt.io/v1
|
||||||
|
kind: VirtualMachine
|
||||||
|
metadata:
|
||||||
|
name: strongswan
|
||||||
|
namespace: ${TENANT_NAMESPACE}
|
||||||
|
spec:
|
||||||
|
running: true
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
kubevirt.io/domain: strongswan
|
||||||
|
spec:
|
||||||
|
domain:
|
||||||
|
cpu:
|
||||||
|
cores: 2
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: 2Gi
|
||||||
|
cpu: 1
|
||||||
|
limits:
|
||||||
|
memory: 2Gi
|
||||||
|
cpu: 2
|
||||||
|
memory:
|
||||||
|
guest: 2Gi
|
||||||
|
devices:
|
||||||
|
rng: {}
|
||||||
|
networkInterfaceMultiqueue: true
|
||||||
|
disks:
|
||||||
|
- name: containerdisk
|
||||||
|
disk:
|
||||||
|
bus: virtio
|
||||||
|
- name: cloudinitdisk
|
||||||
|
disk:
|
||||||
|
bus: virtio
|
||||||
|
interfaces:
|
||||||
|
- name: wan
|
||||||
|
masquerade: {}
|
||||||
|
ports:
|
||||||
|
- port: 4500
|
||||||
|
- port: 443
|
||||||
|
- port: 22
|
||||||
|
- port: 500
|
||||||
|
- name: mgmt
|
||||||
|
bridge: {}
|
||||||
|
- name: lan
|
||||||
|
bridge: {}
|
||||||
|
networks:
|
||||||
|
- name: wan
|
||||||
|
pod: {}
|
||||||
|
- name: mgmt
|
||||||
|
multus:
|
||||||
|
networkName: ${TENANT_NAMESPACE}/mgmt-net
|
||||||
|
- name: lan
|
||||||
|
multus:
|
||||||
|
networkName: ${TENANT_NAMESPACE}/lan-net
|
||||||
|
terminationGracePeriodSeconds: 180
|
||||||
|
volumes:
|
||||||
|
- name: containerdisk
|
||||||
|
containerDisk:
|
||||||
|
image: quay.io/containerdisks/ubuntu:24.04
|
||||||
|
- name: cloudinitdisk
|
||||||
|
cloudInitNoCloud:
|
||||||
|
userData: |
|
||||||
|
#cloud-config
|
||||||
|
users:
|
||||||
|
- name: testuser
|
||||||
|
groups: [sudo]
|
||||||
|
sudo: "ALL=(ALL) NOPASSWD:ALL"
|
||||||
|
lock_passwd: false
|
||||||
|
passwd: "$6$oMZf5uou7t0.oAJ1$825Te06yt7JZwHSSj4MGQMjpd87LflANQpajCwIVPASkKZdOJo4L2bAEDDuK.jtu.fsRNc9bZAsYefmoqdN8O1"
|
||||||
|
chpasswd:
|
||||||
|
expire: false
|
||||||
|
ssh_pwauth: true
|
|
@ -3,6 +3,14 @@ kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- vars/ks.yaml
|
- vars/ks.yaml
|
||||||
- repos/ks.yaml
|
- repos/ks.yaml
|
||||||
|
- network/ks-lb.yaml
|
||||||
|
- firewall/ks-vm.yaml
|
||||||
|
- firewall-dev/ks-vm.yaml
|
||||||
|
- firewall-s3/ks-vm.yaml
|
||||||
|
- windows-vm-standard/ks-vm.yaml
|
||||||
|
- windows-vm-standard/ks-pvc.yaml
|
||||||
|
- windows-vm-standard-dev/ks-vm.yaml
|
||||||
|
- windows-vm-standard-dev/ks-pvc.yaml
|
||||||
- ubuntu-vm-1/ks.yaml
|
- ubuntu-vm-1/ks.yaml
|
||||||
- ubuntu-vm-2/ks.yaml
|
- ubuntu-vm-2/ks.yaml
|
||||||
- container/ks-debug.yaml
|
- container/ks-debug.yaml
|
||||||
|
|
18
network/ks-lb.yaml
Normal file
18
network/ks-lb.yaml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: &app lb
|
||||||
|
namespace: ${TENANT_NAMESPACE}
|
||||||
|
spec:
|
||||||
|
commonMetadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: *app
|
||||||
|
path: ./network/loadbalancers
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: tenant-repos
|
||||||
|
wait: false
|
||||||
|
interval: 30m
|
||||||
|
retryInterval: 1m
|
||||||
|
timeout: 5m
|
29
network/loadbalancers/fortigate-lb.yaml
Normal file
29
network/loadbalancers/fortigate-lb.yaml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: fortigate-lb
|
||||||
|
namespace: ${TENANT_NAMESPACE}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/component: fortigate-lb
|
||||||
|
spec:
|
||||||
|
type: LoadBalancer
|
||||||
|
ports:
|
||||||
|
- port: 4500
|
||||||
|
name: ipsec-nat
|
||||||
|
targetPort: 4500
|
||||||
|
protocol: UDP
|
||||||
|
- port: 500
|
||||||
|
name: key-management
|
||||||
|
targetPort: 500
|
||||||
|
protocol: UDP
|
||||||
|
- port: 22
|
||||||
|
name: ssh
|
||||||
|
targetPort: 22
|
||||||
|
protocol: TCP
|
||||||
|
- port: 443
|
||||||
|
name: https
|
||||||
|
targetPort: 443
|
||||||
|
protocol: TCP
|
||||||
|
selector:
|
||||||
|
kubevirt.io/domain: fortigate-s3
|
29
network/loadbalancers/windows-lb.yaml
Normal file
29
network/loadbalancers/windows-lb.yaml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: windows-lb
|
||||||
|
namespace: ${TENANT_NAMESPACE}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/component: windows-lb
|
||||||
|
spec:
|
||||||
|
type: LoadBalancer
|
||||||
|
ports:
|
||||||
|
- port: 8080
|
||||||
|
name: http
|
||||||
|
targetPort: 8080
|
||||||
|
protocol: TCP
|
||||||
|
- port: 443
|
||||||
|
name: https
|
||||||
|
targetPort: 443
|
||||||
|
protocol: TCP
|
||||||
|
- port: 65022
|
||||||
|
name: ssh
|
||||||
|
targetPort: 22
|
||||||
|
protocol: TCP
|
||||||
|
- port: 3389
|
||||||
|
name: rdp
|
||||||
|
targetPort: 3389
|
||||||
|
protocol: TCP
|
||||||
|
selector:
|
||||||
|
kubevirt.io/domain: windows-vm-standard
|
|
@ -17,11 +17,10 @@ spec:
|
||||||
values:
|
values:
|
||||||
service:
|
service:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
ports:
|
|
||||||
http: 8080
|
|
||||||
ingress:
|
ingress:
|
||||||
enabled: true
|
enabled: true
|
||||||
hostname: nginx.${TENANT_DOMAIN}.apps.ai-2.kvant.cloud
|
hostname: nginx.${TENANT_DOMAIN}
|
||||||
|
ingressClassName: external
|
||||||
extraVolumes:
|
extraVolumes:
|
||||||
- name: ${TENANT_NAMESPACE}-image-storage
|
- name: ${TENANT_NAMESPACE}-image-storage
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
|
|
@ -77,7 +77,7 @@ objects:
|
||||||
spec:
|
spec:
|
||||||
source:
|
source:
|
||||||
http:
|
http:
|
||||||
url: http://nginx.demo.svc.cluster.local:8080/win2022.qcow2
|
url: http://nginx.demo.svc.cluster.local:8080/windows-server-2022-uefi-ns.qcow2
|
||||||
pvc:
|
pvc:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
|
|
@ -38,11 +38,13 @@ spec:
|
||||||
cloudInitNoCloud:
|
cloudInitNoCloud:
|
||||||
userData: |
|
userData: |
|
||||||
#cloud-config
|
#cloud-config
|
||||||
hostname: ubuntu-vm-1
|
|
||||||
ssh_pwauth: True
|
|
||||||
users:
|
users:
|
||||||
- name: ubuntu
|
- name: testuser
|
||||||
ssh-authorized-keys:
|
groups: [sudo]
|
||||||
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPqlhZW/pPLK8zENt3o6tgl0QVinhGAF1sHvajqq3UvI ubuntu
|
sudo: "ALL=(ALL) NOPASSWD:ALL"
|
||||||
sudo: ['ALL=(ALL) NOPASSWD:ALL']
|
lock_passwd: false
|
||||||
shell: /bin/bash
|
passwd: "$6$oMZf5uou7t0.oAJ1$825Te06yt7JZwHSSj4MGQMjpd87LflANQpajCwIVPASkKZdOJo4L2bAEDDuK.jtu.fsRNc9bZAsYefmoqdN8O1"
|
||||||
|
|
||||||
|
chpasswd:
|
||||||
|
expire: false
|
||||||
|
ssh_pwauth: true
|
9
vars/demo/s3-secret.yaml
Normal file
9
vars/demo/s3-secret.yaml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: s3-virt-credentials
|
||||||
|
namespace: ${TENANT_NAMESPACE}
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
accessKeyId: WWozQTdUdHgzbjNOa3NsS2VodzM=
|
||||||
|
secretKey: SUZJRWtSbnJnWDRPcnlNWmtSSjlheG41UlpnSTZhMjBvVW82Tm1lRA==
|
18
windows-vm-standard-dev/ks-pvc.yaml
Normal file
18
windows-vm-standard-dev/ks-pvc.yaml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: &app windows-pvc-dev
|
||||||
|
namespace: ${TENANT_NAMESPACE}
|
||||||
|
spec:
|
||||||
|
commonMetadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: *app
|
||||||
|
path: ./windows-vm-standard-dev/pvc
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: tenant-repos
|
||||||
|
wait: false
|
||||||
|
interval: 30m
|
||||||
|
retryInterval: 1m
|
||||||
|
timeout: 5m
|
18
windows-vm-standard-dev/ks-vm.yaml
Normal file
18
windows-vm-standard-dev/ks-vm.yaml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: &app windows-vm-standard-dev
|
||||||
|
namespace: ${TENANT_NAMESPACE}
|
||||||
|
spec:
|
||||||
|
commonMetadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: *app
|
||||||
|
path: ./windows-vm-standard-dev/vm
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: tenant-repos
|
||||||
|
wait: false
|
||||||
|
interval: 30m
|
||||||
|
retryInterval: 1m
|
||||||
|
timeout: 5m
|
12
windows-vm-standard-dev/pvc/datadisk.yaml
Normal file
12
windows-vm-standard-dev/pvc/datadisk.yaml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: windows-vm-datadisk-dev
|
||||||
|
spec:
|
||||||
|
storageClassName: ibm-spectrum-scale-fileset
|
||||||
|
volumeMode: Filesystem
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 200Gi
|
83
windows-vm-standard-dev/vm/server.yaml
Normal file
83
windows-vm-standard-dev/vm/server.yaml
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
apiVersion: kubevirt.io/v1
|
||||||
|
kind: VirtualMachine
|
||||||
|
metadata:
|
||||||
|
name: windows-vm-standard-dev
|
||||||
|
namespace: ${TENANT_NAMESPACE}
|
||||||
|
spec:
|
||||||
|
dataVolumeTemplates:
|
||||||
|
- metadata:
|
||||||
|
name: windows-rootdisk-dev
|
||||||
|
spec:
|
||||||
|
source:
|
||||||
|
http:
|
||||||
|
url: http://nginx.demo.svc.cluster.local:8080/windows-server-2022-uefi-ns.qcow2
|
||||||
|
storage:
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 80Gi
|
||||||
|
sourceRef:
|
||||||
|
kind: DataSource
|
||||||
|
name: win2k22
|
||||||
|
namespace: kubevirt-os-images
|
||||||
|
runStrategy: Always
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
kubevirt.io/domain: windows-vm-standard-dev
|
||||||
|
spec:
|
||||||
|
domain:
|
||||||
|
cpu:
|
||||||
|
cores: 4
|
||||||
|
memory:
|
||||||
|
guest: 8Gi
|
||||||
|
features:
|
||||||
|
acpi: {}
|
||||||
|
smm:
|
||||||
|
enabled: true
|
||||||
|
firmware:
|
||||||
|
bootloader:
|
||||||
|
efi:
|
||||||
|
secureBoot: true
|
||||||
|
devices:
|
||||||
|
rng: {}
|
||||||
|
networkInterfaceMultiqueue: true
|
||||||
|
interfaces:
|
||||||
|
- name: default
|
||||||
|
masquerade: {}
|
||||||
|
ports:
|
||||||
|
- port: 8080
|
||||||
|
- port: 443
|
||||||
|
- port: 22
|
||||||
|
- port: 3389
|
||||||
|
disks:
|
||||||
|
- disk:
|
||||||
|
bus: sata
|
||||||
|
name: rootdisk-dev
|
||||||
|
- disk:
|
||||||
|
bus: sata
|
||||||
|
name: datadisk-dev
|
||||||
|
# - disk:
|
||||||
|
# bus: scsi
|
||||||
|
# name: cloudinitdisk
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: 8Gi
|
||||||
|
cpu: 4
|
||||||
|
limits:
|
||||||
|
memory: 8Gi
|
||||||
|
cpu: 4
|
||||||
|
networks:
|
||||||
|
- name: default
|
||||||
|
pod: {}
|
||||||
|
terminationGracePeriodSeconds: 180
|
||||||
|
volumes:
|
||||||
|
- name: rootdisk-dev
|
||||||
|
dataVolume:
|
||||||
|
name: windows-rootdisk-dev
|
||||||
|
- name: datadisk-dev
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: windows-vm-datadisk-dev
|
||||||
|
#- name: cloudinitdisk
|
||||||
|
# cloudInitNoCloud:
|
||||||
|
# secretRef:
|
||||||
|
# name: windows-cloud-init
|
18
windows-vm-standard/ks-pvc.yaml
Normal file
18
windows-vm-standard/ks-pvc.yaml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: &app windows-pvc
|
||||||
|
namespace: ${TENANT_NAMESPACE}
|
||||||
|
spec:
|
||||||
|
commonMetadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: *app
|
||||||
|
path: ./windows-vm-standard/pvc
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: tenant-repos
|
||||||
|
wait: false
|
||||||
|
interval: 30m
|
||||||
|
retryInterval: 1m
|
||||||
|
timeout: 5m
|
18
windows-vm-standard/ks-vm.yaml
Normal file
18
windows-vm-standard/ks-vm.yaml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: &app windows-vm-standard
|
||||||
|
namespace: ${TENANT_NAMESPACE}
|
||||||
|
spec:
|
||||||
|
commonMetadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: *app
|
||||||
|
path: ./windows-vm-standard/vm
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: tenant-repos
|
||||||
|
wait: false
|
||||||
|
interval: 30m
|
||||||
|
retryInterval: 1m
|
||||||
|
timeout: 5m
|
12
windows-vm-standard/pvc/datadisk.yaml
Normal file
12
windows-vm-standard/pvc/datadisk.yaml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: windows-vm-datadisk
|
||||||
|
spec:
|
||||||
|
storageClassName: ibm-spectrum-scale-fileset
|
||||||
|
volumeMode: Filesystem
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 200Gi
|
82
windows-vm-standard/vm/server.yaml
Normal file
82
windows-vm-standard/vm/server.yaml
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
apiVersion: kubevirt.io/v1
|
||||||
|
kind: VirtualMachine
|
||||||
|
metadata:
|
||||||
|
name: windows-vm-standard
|
||||||
|
namespace: ${TENANT_NAMESPACE}
|
||||||
|
spec:
|
||||||
|
dataVolumeTemplates:
|
||||||
|
- metadata:
|
||||||
|
name: windows-rootdisk
|
||||||
|
spec:
|
||||||
|
source:
|
||||||
|
http:
|
||||||
|
url: http://nginx.demo.svc.cluster.local:8080/windows-server-2022-uefi-ns.qcow2
|
||||||
|
storage:
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 80Gi
|
||||||
|
sourceRef:
|
||||||
|
kind: DataSource
|
||||||
|
name: win2k22
|
||||||
|
namespace: kubevirt-os-images
|
||||||
|
runStrategy: Always
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
kubevirt.io/domain: windows-vm-standard
|
||||||
|
spec:
|
||||||
|
domain:
|
||||||
|
cpu:
|
||||||
|
cores: 4
|
||||||
|
memory:
|
||||||
|
guest: 8Gi
|
||||||
|
features:
|
||||||
|
acpi: {}
|
||||||
|
smm:
|
||||||
|
enabled: true
|
||||||
|
firmware:
|
||||||
|
bootloader:
|
||||||
|
efi: {}
|
||||||
|
devices:
|
||||||
|
rng: {}
|
||||||
|
networkInterfaceMultiqueue: true
|
||||||
|
interfaces:
|
||||||
|
- name: default
|
||||||
|
masquerade: {}
|
||||||
|
ports:
|
||||||
|
- port: 8080
|
||||||
|
- port: 443
|
||||||
|
- port: 22
|
||||||
|
- port: 3389
|
||||||
|
disks:
|
||||||
|
- disk:
|
||||||
|
bus: sata
|
||||||
|
name: rootdisk
|
||||||
|
- disk:
|
||||||
|
bus: sata
|
||||||
|
name: datadisk
|
||||||
|
# - disk:
|
||||||
|
# bus: scsi
|
||||||
|
# name: cloudinitdisk
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: 8Gi
|
||||||
|
cpu: 4
|
||||||
|
limits:
|
||||||
|
memory: 8Gi
|
||||||
|
cpu: 4
|
||||||
|
networks:
|
||||||
|
- name: default
|
||||||
|
pod: {}
|
||||||
|
terminationGracePeriodSeconds: 180
|
||||||
|
volumes:
|
||||||
|
- name: rootdisk
|
||||||
|
dataVolume:
|
||||||
|
name: windows-rootdisk
|
||||||
|
- name: datadisk
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: windows-vm-datadisk
|
||||||
|
#- name: cloudinitdisk
|
||||||
|
# cloudInitNoCloud:
|
||||||
|
# secretRef:
|
||||||
|
# name: windows-cloud-init
|
Loading…
Add table
Add a link
Reference in a new issue