diff --git a/kustomization.yaml b/kustomization.yaml index 4ed98a0..4838871 100644 --- a/kustomization.yaml +++ b/kustomization.yaml @@ -13,6 +13,8 @@ resources: - ubuntu-vm-2/ks.yaml - ubuntu-vm-3/ks.yaml - ubuntu-vm-4-john/ks.yaml + - ubuntu-vm-5/ks.yaml + - ubuntu-vm-6/ks.yaml - container/ks-debug.yaml - templates/image-server/ks-nginx.yaml - templates/image-server/ks-pvc.yaml @@ -22,4 +24,3 @@ resources: - postgres/ks.yaml # - windows-vm-standard-john/ks-vm.yaml # - windows-vm-standard-john/ks-pvc.yaml -# - windows-vm-standard-john/windows-lb.yaml diff --git a/windows-vm-standard-john/windows-lb.yaml b/network/loadbalancers/windows-dev-lb.yaml similarity index 78% rename from windows-vm-standard-john/windows-lb.yaml rename to network/loadbalancers/windows-dev-lb.yaml index e9ad9f8..5922a1d 100644 --- a/windows-vm-standard-john/windows-lb.yaml +++ b/network/loadbalancers/windows-dev-lb.yaml @@ -2,10 +2,10 @@ apiVersion: v1 kind: Service metadata: - name: windows-lb-john + name: windows-lb-dev namespace: ${TENANT_NAMESPACE} labels: - app.kubernetes.io/component: windows-lb-john + app.kubernetes.io/component: windows-lb-dev spec: type: LoadBalancer ports: @@ -26,4 +26,4 @@ spec: targetPort: 3389 protocol: TCP selector: - kubevirt.io/domain: windows-vm-standard-john + kubevirt.io/domain: windows-vm-standard-dev diff --git a/templates/windowsserver-rh/flavor/small.yaml b/templates/windowsserver-rh/flavor/small.yaml index 70bacca..6b5f91f 100644 --- a/templates/windowsserver-rh/flavor/small.yaml +++ b/templates/windowsserver-rh/flavor/small.yaml @@ -37,13 +37,13 @@ objects: spec: domain: cpu: - cores: 1 + cores: 2 sockets: 1 - threads: 1 + threads: 2 devices: disks: - disk: - bus: virtio + bus: scsi name: rootdisk interfaces: - masquerade: {} @@ -77,7 +77,7 @@ objects: spec: source: http: - url: http://nginx.demo.svc.cluster.local:8080/windows-server-2022-uefi-ns.qcow2 + url: http://nginx.demo.svc.cluster.local:80/windows-server-2022-uefi-ns.qcow2 pvc: accessModes: - ReadWriteOnce diff --git a/ubuntu-vm-5/ks.yaml b/ubuntu-vm-5/ks.yaml new file mode 100644 index 0000000..d540852 --- /dev/null +++ b/ubuntu-vm-5/ks.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: &app ubuntu-vm-5 + namespace: ${TENANT_NAMESPACE} +spec: + commonMetadata: + labels: + app.kubernetes.io/name: *app + path: ./ubuntu-vm-5/vm + prune: true + sourceRef: + kind: GitRepository + name: tenant-repos + wait: false + interval: 30m + retryInterval: 1m + timeout: 5m diff --git a/ubuntu-vm-5/vm/pvc/ubuntu-datadisk.yaml b/ubuntu-vm-5/vm/pvc/ubuntu-datadisk.yaml new file mode 100644 index 0000000..d6ce155 --- /dev/null +++ b/ubuntu-vm-5/vm/pvc/ubuntu-datadisk.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: ubuntu-datadisk-1 + namespace: ${TENANT_NAMESPACE} + labels: + app: ubuntu-vm-1 +spec: + volumeMode: Filesystem + accessModes: + - ReadWriteMany + resources: + requests: + storage: 50Gi \ No newline at end of file diff --git a/ubuntu-vm-5/vm/ubuntu/ubuntu-vm.yaml b/ubuntu-vm-5/vm/ubuntu/ubuntu-vm.yaml new file mode 100644 index 0000000..af49d0c --- /dev/null +++ b/ubuntu-vm-5/vm/ubuntu/ubuntu-vm.yaml @@ -0,0 +1,49 @@ +apiVersion: kubevirt.io/v1 +kind: VirtualMachine +metadata: + name: &name ubuntu-vm-1 + namespace: ${TENANT_NAMESPACE} +spec: + running: true + template: + metadata: + labels: + app: *name + kubevirt.io/domain: *name + spec: + hostname: ubuntu + subdomain: vitabyte + domain: + devices: + disks: + - disk: + bus: scsi + name: ubuntu-rootdisk + - disk: + bus: scsi + name: ubuntu-datadisk + - disk: + bus: virtio + name: cloudinit-disk + cpu: + sockets: 1 + cores: 2 + threads: 1 + resources: + requests: + cpu: 2 + memory: 2Gi + limits: + cpu: 2 + memory: 2Gi + volumes: + - name: ubuntu-rootdisk + containerDisk: + image: quay.io/containerdisks/ubuntu:24.04 + - name: ubuntu-datadisk + persistentVolumeClaim: + claimName: ubuntu-datadisk-1 + - name: cloudinit-disk + cloudInitNoCloud: + secretRef: + name: ubuntu-cloud-init \ No newline at end of file diff --git a/ubuntu-vm-6/ks.yaml b/ubuntu-vm-6/ks.yaml new file mode 100644 index 0000000..d030e48 --- /dev/null +++ b/ubuntu-vm-6/ks.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: &app ubuntu-vm-6 + namespace: ${TENANT_NAMESPACE} +spec: + commonMetadata: + labels: + app.kubernetes.io/name: *app + path: ./ubuntu-vm-3/ubuntu + prune: true + sourceRef: + kind: GitRepository + name: tenant-repos + wait: false + interval: 30m + retryInterval: 1m + timeout: 5m diff --git a/ubuntu-vm-6/ubuntu/ubuntu-vm.yaml b/ubuntu-vm-6/ubuntu/ubuntu-vm.yaml new file mode 100644 index 0000000..1d08b69 --- /dev/null +++ b/ubuntu-vm-6/ubuntu/ubuntu-vm.yaml @@ -0,0 +1,50 @@ +apiVersion: kubevirt.io/v1 +kind: VirtualMachine +metadata: + name: ubuntu-vm-3 + namespace: ${TENANT_NAMESPACE} +spec: + running: true + template: + metadata: + labels: + kubevirt.io/domain: ubuntu-vm-3 + spec: + domain: + cpu: + cores: 2 + devices: + disks: + - disk: + bus: virtio + name: containerdisk + - disk: + bus: virtio + name: cloudinitdisk + resources: + requests: + memory: 2Gi + cpu: 1 + limits: + memory: 2Gi + cpu: 2 + memory: + guest: 2Gi + 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 \ No newline at end of file diff --git a/vars/demo/ubuntu-cloud-init.secrets.yaml b/vars/demo/ubuntu-cloud-init.secrets.yaml new file mode 100644 index 0000000..a6c8857 --- /dev/null +++ b/vars/demo/ubuntu-cloud-init.secrets.yaml @@ -0,0 +1,23 @@ +apiVersion: v1 +kind: Secret +metadata: + name: ubuntu-cloud-init +stringData: + userData: |- + #cloud-config + hostname: ubuntu + fqdn: ubuntu.vitabyte.basel.kvant.cloud + prefer_fqdn_over_hostname: false + users: + - name: vitabyte + ssh-authorized-keys: + - ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAHUMdz8TOsgNVavPkFkNoe6AtvTJi29t4ncS+EzX5gpG8LDsxLjTmUeFkTnyyP9Lw1y3JCo1dqF3HIzbaDRyc1MIgGinb6HoDAGzyTRAr/TzAPSlKeTVbGHVaLcneaLtuyKblgdGwl9VH2DWVZL+/s+IXVINubxxQjxHEVxRXJuOqnloQ== kubevirt@phoenix-systems.ch + sudo: ['ALL=(ALL) NOPASSWD:ALL'] + shell: /bin/bash + fs_setup: + - label: data + filesystem: ext4 + device: /dev/vdb + overwrite: false + mounts: + - [ /dev/vdb, /data, "ext4", "defaults,nofail", "0", "2" ] diff --git a/windows-vm-standard-dev/vm/server.yaml b/windows-vm-standard-dev/vm/server.yaml index 1b42bdc..18ac667 100644 --- a/windows-vm-standard-dev/vm/server.yaml +++ b/windows-vm-standard-dev/vm/server.yaml @@ -15,10 +15,10 @@ spec: resources: requests: storage: 80Gi - sourceRef: - kind: DataSource - name: win2k22 - namespace: kubevirt-os-images + #sourceRef: + # kind: DataSource + # name: win2k22 + # namespace: kubevirt-os-images runStrategy: Always template: metadata: @@ -27,7 +27,7 @@ spec: spec: domain: cpu: - cores: 4 + cores: 2 memory: guest: 8Gi features: @@ -54,7 +54,7 @@ spec: bus: sata name: rootdisk-dev - disk: - bus: sata + bus: scsi name: datadisk-dev # - disk: # bus: scsi @@ -62,10 +62,10 @@ spec: resources: requests: memory: 8Gi - cpu: 4 + cpu: 2 limits: memory: 8Gi - cpu: 4 + cpu: 2 networks: - name: default pod: {}