K8S集群添加物理机的过程需要分为几个步骤,下面我将一一解释每一步需要做什么,并提供相应的代码示例。

步骤一:安装Docker和K8S工具
首先,确保物理机上已经正确安装了Docker和K8S工具。可以使用以下命令来安装Docker和K8S工具:
```
# 安装Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

# 安装K8S工具
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
```

步骤二:初始化Master节点
在物理机上选择一台作为Master节点,使用以下命令初始化Master节点:
```
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
```
这个命令会生成一个类似下面的输出:
```
kubeadm join 192.168.1.100:6443 --token abcdef.1234567890abcdefghijklmnopqrstuvwxyz --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
```
请注意,这个输出中的`192.168.1.100`是Master节点的IP地址,你需要将其替换为你自己的Master节点的IP地址。

步骤三:加入Worker节点
在要加入K8S集群的物理机上执行以下命令,加入到K8S集群中:
```
sudo kubeadm join 192.168.1.100:6443 --token abcdef.1234567890abcdefghijklmnopqrstuvwxyz --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
```
同样地,请将上述命令中的`192.168.1.100`替换为你自己的Master节点的IP地址。

步骤四:设置网络插件
K8S集群需要一个网络插件,用于实现Pod之间的通信。这里我们选择Flannel作为网络插件。使用以下命令来设置Flannel网络插件:
```
kubectl apply -f https://github.com/coreos/flannel/raw/master/Documentation/kube-flannel.yml
```

步骤五:验证集群状态
使用以下命令来验证集群状态是否正常:
```
kubectl get nodes
```
如果输出中所有的节点都显示Ready状态,那么集群添加物理机的过程就完成了。

补充说明:以上步骤都是在Linux系统上进行操作,并假设使用的是已经安装好的Ubuntu系统。对于其他操作系统,可能会有一些差异。

希望这篇文章能够帮助到你,让你更好地理解如何在K8S集群中添加物理机。