cluster-wide IP address management

Whereabouts is cluster-wide

ExternalDNS synchronizes exposed Kubernetes Services and Ingresses with DNS providers. 

 

Simple Provision

jiangzhenggang2023/old-cloud (github.com)

shaohef/Edge-Service-Kit: Lite-Tiber (github.com)

KubeVirt

Virtual hardware - KubeVirt user guide

Configuring PCI passthrough - Virtual machines | Virtualization | OpenShift Container Platform 4.10

GPU Operator with KubeVirt — NVIDIA GPU Operator 24.6.1 documentation

Host Devices Assignment - KubeVirt user guide

 

Install tools

install kubevirt:  https://kubebyexample.com/learning-paths/kubevirt-fundamentals/guided-exercise-installing-kubevirt  (Tiber install, no need import)

install krew ref https://krew.sigs.k8s.io/docs/user-guide/setup/install/  (manually installation)

Install virtctl:  https://kubevirt.io/user-guide/user_workloads/virtctl_client_tool/ (manually installation)

check CRD

kubectl api-resources  |grep kubevirt

Install krew

(
  set -x; cd "$(mktemp -d)" &&
  OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
  ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
  KREW="krew-${OS}_${ARCH}" &&
  curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
  tar zxvf "${KREW}.tar.gz" &&
  ./"${KREW}" install krew
)

set PATH

export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"

 

create a VM

Kubevirt Hello World VM: https://docs.starlingx.io/kube-virt/hello-world-kubevirt-vm-05503659173c.html 

https://medium.com/@tejasmane485/how-to-get-started-with-kubevirt-easy-explained-e916ca1b621

 

apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
  name: testvm
spec:
  running: false
  template:
    metadata:
      labels:
        kubevirt.io/size: small
        kubevirt.io/domain: testvm
    spec:
      domain:
        devices:
          disks:
            - name: containerdisk
              disk:
                bus: virtio
            - name: cloudinitdisk
              disk:
                bus: virtio
          interfaces:
          - name: default
            masquerade: {}
        resources:
          requests:
            memory: 64M
      networks:
      - name: default
        pod: {}
      volumes:
        - name: containerdisk
          containerDisk:
            image: quay.io/kubevirt/cirros-container-disk-demo
        - name: cloudinitdisk
          cloudInitNoCloud:
            userDataBase64: SGkuXG4=

Helm chart vm example

charts/single-vm/templates/vm.yaml at master · pkliczewski/charts (github.com) 

 kubevirt-manager/kubevirt-manager: Kubevirt Web UI / Web Interface Manager (github.com)

intel-iot-devkit/sample-helm-charts: This repository contains sample helm charts for container and vm-based workload deployments. (github.com)

Platform9-Community/kubevirt-vm-helm (github.com)

 

https://www.baeldung.com/ops/kubevirt-kubernetes-addon-guide

https://www.wwt.com/blog/a-working-kubevirt-tutorial

https://kubevirt.io/user-guide/user_workloads/accessing_virtual_machines/

A Working Kubevirt Tutorial

Guided Exercise: Create and access a virtual machine in KubeVirt

https://kubevirt.io/user-guide/user_workloads/creating_vms/ 

 

USB

Discovering and Using USB Cameras - Akri

https://docs.akri.sh › demos › usb-camera-demo

Akri
https://docs.akri.sh
Akri is a Kubernetes Resource Interface that lets you easily expose heterogeneous leaf devices (such as IP cameras and USB devices) as resources in a ...

 

 

posted @ 2024-09-24 00:16  lvmxh  阅读(9)  评论(0编辑  收藏  举报