我有一个非常简单的程序:
package main
import (
"fmt"
"github.com/vishvananda/netlink"
)
func main() {
_, err := netlink.LinkByName("wlp164s0")
if err != nil {
fmt.Println("error finding VIP Interface, for building DHCP Link : %v", err)
return
}
fmt.Println("Worked..")
}如果我创建一个码头形象,并运行它与“-net主机”,这个程序打印“工作”。它能够找到接口wlp164s0。
如果我创建这样的k8s部署:
apiVersion: apps/v1
kind: Deployment
metadata:
name: netlink-example
labels:
app: netlink-example
spec:
replicas: 1
selector:
matchLabels:
app: netlink-example
template:
metadata:
labels:
app: netlink-example
spec:
hostNetwork: true
containers:
- name: netlink
image: suruti94/netlink:0.1
imagePullPolicy: IfNotPresent
hostNetwork: true
nodeSelector:
kubernetes.io/os: linux此程序打印错误,表明它无法查找接口,这意味着"hostNetwork: true“没有生效。从我所有的研究来看,这看起来是对的。任何帮助都将不胜感激。我正在Ubuntu21.04上运行这个程序,k8s版本为1.22。
发布于 2022-04-22 22:16:08
经过一些实验之后,我了解到k8s中的docker选项“- not”与“k8s: true”不一样。我错误地认为他们会产生类似的行为。
https://stackoverflow.com/questions/71899349
复制相似问题