答:按照高塔老师的教程,控制平面的master节点上没有安装kubelet,所以看不到三个主要节点。而使用kubeadm进行的安装是在master节点上也安装了kubelet,所以你能看到各个节点包括主节点,只不过对master进行了标签或污点,然后pod默认不会自动调度到master节点上。
如果你想显示master节点,直接按照worker节点的操作进行新加即可。
答:这是因为你只装了containerd,而你使用crictl时候,crictl不知道你的默认的运行时是谁,到底是docker呢,还是containerd呢,还是crio呢,所以crictl根本不知情,导致出现错误。通过上述错误,发现默认配置目前已经被遗弃,所以你需要手动指定你的容器运行时。但是当你安装kubelet并启动后则不用再进行手动指定了。
crictl -r unix:///run/containerd/containerd.sock ps
通过对crictl -r进行配置你当前的容器运行时来指定你的endpoint,这样就不会报警告和错误。
kubectl api-resources
答: 通过上述命令可以看到有一列为 SHORTNAMES,这些是资源的缩写,我们可以进行使用,常见的有deploy、ds、no、po、pv、pvc、ns、ep、cm、cs、ev等等
答:这个问题很多人都知道如何解决,这里只是记录一下
比如:k8s.gcr.io/metrics-server/metrics-server:v0.6.1 ,你可以去阿里云下载,如下:
docker pull registry.aliyuncs.com/google_containers/metrics-server:v0.6.1
或者是k8s.gcr.io/pause:3.5
docker pull registry.aliyuncs.com/google_containers/pause:3.2
改一下前面的url就行了。
tun设备,其实就是Tunnel 设备,在 Linux 中,TUN 设备是一种工作在三层(Network Layer)的虚拟网络设备。TUN 设备的功能非常简单,即:在操作系统内核和用户应用程序之间传递 IP 包。
VXLAN 的覆盖网络的设计思想是:在现有的三层网络之上,“覆盖”一层虚拟的、由内核 VXLAN 模块负责维护的二层网络,使得连接在这个 VXLAN 二层网络上的“主机”(虚拟机或者容器都可以)之间,可以像在同一个局域网(LAN)里那样自由通信。当然,实际上,这些“主机”可能分布在不同的宿主机上,甚至是分布在不同的物理机房里
而为了能够在二层网络上打通“隧道”,VXLAN 会在宿主机上设置一个特殊的网络设备作为“隧道”的两端。这个设备就叫作 VTEP,即:VXLAN Tunnel End Point(虚拟隧道端点)。