| 步骤 | 操作 |
| ------ | ------ |
| 1. 准备虚拟机 | 在物理机上安装虚拟化软件,如VirtualBox |
| 2. 创建虚拟机 | 使用虚拟化软件创建一个虚拟机实例 |
| 3. 安装操作系统 | 在虚拟机上安装一个支持K8S的操作系统,如Ubuntu |
| 4. 安装Docker | 在虚拟机上安装Docker,作为K8S的容器运行时 |
| 5. 配置Docker镜像加速器 | 配置Docker镜像加速器,提升镜像下载速度 |
| 6. 安装K8S组件 | 在虚拟机上安装K8S的各个组件,如kubelet、kubeadm和kubectl |
| 7. 初始化K8S集群 | 使用kubeadm初始化K8S集群 |
| 8. 配置网络插件 | 安装和配置网络插件,如Calico或Flannel |
| 9. 添加节点 | 将其他虚拟机作为节点加入到K8S集群中 |
| 10. 验证集群 | 使用kubectl命令验证K8S集群的状态 |
下面是每一步具体的操作步骤和代码示例:
#### 1. 准备虚拟机
在物理机上安装虚拟化软件,如VirtualBox。根据操作系统不同,可使用对应的安装包进行安装。
#### 2. 创建虚拟机
使用虚拟化软件创建一个虚拟机实例,并配置相关的虚拟机参数,如CPU、内存和磁盘大小。
#### 3. 安装操作系统
在虚拟机上安装一个支持K8S的操作系统,如Ubuntu。根据虚拟机的硬件配置,可选择32位或64位的操作系统版本。
#### 4. 安装Docker
在虚拟机上安装Docker,作为K8S的容器运行时。使用以下命令安装Docker:
```bash
$ sudo apt-get update # 更新软件包索引
$ sudo apt-get install docker # 安装Docker
```
#### 5. 配置Docker镜像加速器
配置Docker镜像加速器,提升镜像下载速度。在/etc/docker/daemon.json文件中添加以下内容:
```json
{
"registry-mirrors": ["https://<加速器地址>"]
}
```
其中`<加速器地址>`是指定的镜像加速器地址,可以从网上搜索并选择适合的镜像加速器地址。
#### 6. 安装K8S组件
在虚拟机上安装K8S的各个组件,如kubelet、kubeadm和kubectl。使用以下命令安装K8S组件:
```bash
$ 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 - # 添加K8S的GPG密钥
$ echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list # 添加K8S的软件源
$ sudo apt-get update # 更新软件包索引
$ sudo apt-get install -y kubelet kubeadm kubectl # 安装K8S组件
$ sudo apt-mark hold kubelet kubeadm kubectl # 防止K8S组件在系统更新时被自动升级
```
#### 7. 初始化K8S集群
使用kubeadm初始化K8S集群。执行以下命令将当前节点初始化为K8S的主节点:
```bash
$ sudo kubeadm init # 初始化K8S集群
```
初始化完成后,输出的信息中会包含加入集群的命令,在后续添加节点步骤中会用到。
#### 8. 配置网络插件
安装和配置网络插件,如Calico或Flannel。选择一个网络插件,并根据其官方文档进行安装和配置。
例如,使用Flannel插件,执行以下命令安装和配置Flannel:
```bash
$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml # 安装Flannel插件
```
#### 9. 添加节点
将其他虚拟机作为节点加入到K8S集群中。通过执行初始化集群时输出的加入集群命令,将其他虚拟机加入到集群中。
```bash
$ sudo kubeadm join <主节点IP>:<主节点端口> --token
```
其中`<主节点IP>`是K8S主节点的IP地址,`<主节点端口>`是K8S主节点的端口号,`
#### 10. 验证集群
使用kubectl命令验证K8S集群的状态。例如,执行以下命令验证集群的状态:
```bash
$ kubectl cluster-info # 查看集群信息
$ kubectl get nodes # 查看集群节点
```
至此,虚拟机单机安装K8S的操作步骤已经完成。通过以上步骤,你可以在自己的虚拟机上安装和配置一个单机的K8S集群,并进行相关的开发和调试工作。