**实现“k8s on k8s”的流程**

| 步骤 | 操作 |
|------|------|
| 1 | 部署一个Kubernetes集群 |
| 2 | 在部署好的Kubernetes集群上运行另一个Kubernetes集群 |

**步骤一:部署一个Kubernetes集群**

在这一步中,我们将使用工具如kubeadm、kops等来部署第一个Kubernetes集群。

首先,我们需要安装kubeadm:

```bash
# 安装kubeadm
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
```

接下来,我们使用kubeadm来初始化一个Kubernetes集群:

```bash
# 初始化Kubernetes集群
sudo kubeadm init
```

将执行以上步骤得到的Token和命令行输出保存好,以备后续使用。

**步骤二:在部署好的Kubernetes集群上运行另一个Kubernetes集群**

在第一个Kubernetes集群中运行第二个Kubernetes集群需要使用kubeadm和相关配置文件。

首先,我们需要在第一个Kubernetes集群中创建一个Pod,这个Pod将会运行第二个Kubernetes集群的master节点。在Pod中,我们需要运行kubeadm init。

创建一个Pod yaml文件如下:

```yaml
apiVersion: v1
kind: Pod
metadata:
name: k8s-on-k8s
spec:
containers:
- name: k8s-on-k8s
image:
command: ["kubeadm", "init"]
args: ["--config", "/path/to/config-file"]
```

在这个yaml文件中,我们需要将"your-image-with-kubeadm"替换为一个包含kubeadm和所需工具的镜像,并将"/path/to/config-file"替换为包含kubeadm初始化集群配置的文件路径。

接下来,我们可以通过kubectl命令来创建这个Pod:

```bash
# 创建Pod
kubectl apply -f pod.yaml
```

随着这个Pod的启动,第二个Kubernetes集群的master节点将在这个Pod中初始化。

总的来说,运行“k8s on k8s”可以让我们在一个Kubernetes集群中运行另一个Kubernetes集群,这对于测试和学习Kubernetes的一些高级特性非常有用。通过以上步骤,希望你能够成功实现“k8s on k8s”。