友链

Alberthua Blog

Alberthua 从事 Linux 🐧 与云计算领域至今,目前就职于某国际开源系统公司担任 Instructor
Alberthua 的博客中将记录技术与编程语言的学习总结、日常工作中的避坑提示、工作生活中的碎碎念等


欢迎来访的朋友们互换友链,可在评论区留下站点地址

9人评论了“友链”

  1. 您好博主,我想请教一下 kubevirt 为什么无法访问外网,我已经设置了使用Pod网络,同时如何通过xshell连接
    [root@master ~]# virtctl console fedora
    Successfully connected to fedora console. The escape sequence is ^]

    fedora login: fedora
    Password:
    Last login: Sat Sep 7 20:19:15 on ttyS0
    [fedora@fedora ~]$ ping baidu.com
    ping: baidu.com: Name or service not known
    [fedora@fedora ~]$ ping 110.242.68.66
    PING 110.242.68.66 (110.242.68.66) 56(84) bytes of data.

    — 110.242.68.66 ping statistics —
    211 packets transmitted, 0 received, 100% packet loss, time 215041ms

    [fedora@fedora ~]$ cat /etc/resolv.conf
    nameserver 8.8.8.8
    nameserver 8.8.4.4

    [root@master ~]# virtctl expose vmi fedora –port=22 –name=fedora-ssh –type=NodePort
    service creation failed for k8s >= 1.20: services “fedora-ssh” already exists
    [root@master ~]# kubectl get svc
    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
    cirros-ssh NodePort 10.99.20.114 22:31731/TCP 54m
    fedora-ssh NodePort 10.100.30.174 22:31161/TCP 11m

    [root@master ~]# cat kubevirt.yaml
    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
    name: fedora
    spec:
    runStrategy: Manual
    template:
    metadata:
    labels:
    kubevirt.io/vm: fedora
    spec:
    hostname: fedora
    domain:
    resources:
    requests:
    memory: 2Gi
    devices:
    disks:
    – name: containerdisk
    disk:
    bus: virtio
    – name: cloudinitdisk
    disk:
    bus: virtio
    rng: {}
    interfaces:
    – name: default
    masquerade: {}
    ports:
    – name: ssh
    port: 22
    networks:
    – name: default
    pod: {}
    volumes:
    – name: containerdisk
    containerDisk:
    image: 192.168.100.3/library/fedora-virt:v1.0
    imagePullPolicy: IfNotPresent
    – name: cloudinitdisk # Name of the cloud-init disk
    cloudInitNoCloud: # 使用CloudInitNoCloud配置用户数据
    userData: |-
    #cloud-config
    password: fedora # 用户名: fedora 密码: fedora
    chpasswd: { expire: False } # 密码过期
    ssh_pwauth: True
    write_files:
    – path: /etc/resolv.conf
    permissions: “0644”
    content: |
    nameserver 8.8.8.8
    nameserver 8.8.4.4

    1. 为什么无法访问外网?
      看起来是 Kubernetes 网络的问题,可以单独起一个常规 Pod 然后测试能够访问外部网络

      同时如何通过xshell连接?
      使用类型是 NodePort 或者 LoadBalancer 类型的 Service,或者使用 Multus

  2. 非常感谢您的回复,这个问题我好像发现是什么问题了,好像是因为我部署了 Istio,Istio 做了流量管理策略阻碍

    1. 制作 Kubevirt 镜像是很容易的,首先可以直接使用 qcow2 raw 通过 CDI 导入到 PV 中,如果是 Container image 这种的话,通过编写 Dockerfile 构建一个只包含 /disk 的目录,然后将 qcow2 镜像拷贝到 /disk 目录下就可以了,有空的时候出一期。

      1. 我制作了不知道为什么不能使用,https://cloud.tencent.com/developer/article/1628184 根据这个制作的并且也编写 Dockerfile 构建一个只包含 /disk 的目录,创建vmi都是正常的但是就是没有安装界面卡死在virtctl console 界面

        1. 问题还是出现在构建自定义虚拟机镜像的方式上,建议使用 libguestfs virt-customize 这类的工具,而不是直接启动虚拟机然后通过手动人工的方式进行修改。
          此外应使用发行版提供的 qcow2 镜像,在此基础之上进行自定义而不是自己安装一个VM

          如何排除是否是构建的容器镜像问题?
          只需直接将 qcow2 导入到 PVC,看是否正常启动即可

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

滚动至顶部