环境准备

     windows10 基于 vmware虚拟机安装 Centos7 系统,关于系统的优化,猛击这里

OS 的镜像,我没测试过,这里依据我的模板进行操作.

     这里主要讲一下 yum 软件安装源的问题,由于默认软件仓库需要连接国外站点,导致更新软件的时候,速度较慢,

阿里云官方镜像站 

     1.  Centos7 系统 yum 安装源的替换

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup # 备份系统自带的安装源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo  # 更换为阿里云的安装源
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo #解决报错问题
yum makecache fast # 生成缓存

     2. Epel 镜像

yum install wget -y  #  安装下载工具
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo  #下载安装源
yum makecache  # 生成缓存

     3. Kubernetes 镜像

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

     4. Docker CE 镜像

yum install -y yum-utils device-mapper-persistent-data lvm2 # 安装工具和依赖
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo   # 配置 yum 安装源
yum makecache fast  # 快速生成缓存

安装单机 K8S

    1. 安装 kubectl , kubectl 是操作 k8s 集群的命令行工具

#由于我们安装 kubernetes 安装源,所以直接安装就可以
 yum install kubectl -y

    2.  下载 minikube 安装工具,这是一个快速在本地环境安装 k8s 的工具

curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.12.0/minikube-linux-amd64
chmod +x minikube && sudo mv minikube /usr/local/bin/   # 赋予执行权限并加入环境变量

       minikube 在 Centos7系统上支持很多驱动, 这些驱动可以调用虚拟机程序创建 k8s 集群.

  •  kvm2     在 kvm 虚拟机中创建k8s , 需要打开cpu 的嵌套虚拟化功能
  •  virtualbox  在 virtualbox 虚拟机中创建 k8s , 需要打开cpu 的嵌套虚拟化功能
  •  docker  在 docker 容器中创建 k8s.
  •  none     使用本地docker 创建 k8s,类似于 kubeadm 单机版.

这里只介绍两种驱动方式安装 k8s

       1.  KVM2

        安装KVM虚拟机的软件

yum install libvirt qemu-kvm -y # 安装虚拟机软件
systemctl enable libvirtd --now   # 启动虚拟机并加入开机启动
virt-host-validate  # 验证虚拟机有没有错误,

      我的虚拟机展示一个 WARN, 一个 FAIL, 由于我有强迫症,修复了这两个错误,所以并没有测试不修复错误是否可以正常安装 k8s.

参考这里       FAIL (Load the 'fuse' module to enable /proc/ overrides   修复方法:modprobe fuse,  如需实现开机加载, 可以参考这里,  抱歉,偷懒了,只是参考,还需自己改改.

       minikube 安装 k8s 

       重要的参数, 抱歉 copy 别人的,丰富自己的.

--driver=***

  • 从1.5.0版本开始,Minikube缺省使用本地最好的驱动来创建Kubernetes本地环境,测试过的版本 docker, kvm
  • --image-mirror-country cn 将缺省利用 registry.cn-hangzhou.aliyuncs.com/google_containers 作为安装Kubernetes的容器镜像仓库 (阿里云版本可选)
  • --iso-url=*** 利用阿里云的镜像地址下载相应的 .iso 文件 (阿里云版本可选),  指的是虚拟机镜像。
  • --registry-mirror=***为了拉取Docker Hub镜像,需要为 Docker daemon 配置镜像加速,参考阿里云镜像服务
  • --cpus=2: 为minikube虚拟机分配CPU核数
  • --memory=2048mb: 为minikube虚拟机分配内存数
  • --kubernetes-version=***: minikube 虚拟机将使用的 kubernetes 版本

     Everything is ready ,it is time to start

minikube start --iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.7.3.iso
--image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers
--registry-mirror=https://zgmke8qe.mirror.aliyuncs.com --driver=kvm2   --force

     安装过程被卡在了: 正在下载驱动 docker-machine-driver-kvm2. 

     原因: docker-machine-driver-kvm2, 这个驱动(也就是可执行文件)是需要通过国外站点下载,非常慢。

     方案:

#登录一台香港服务器,执行如下命令下载这个驱动文件
curl -LO https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-kvm2
#上传这个驱动文件到本地服务器后,执行如下命令
chmod +x docker-machine-driver-kvm2 && sudo mv docker-machine-driver-kvm2 /usr/local/bin/

    接下来就是见证奇迹的时刻,只需要大约五分钟左右,我们的 k8s 单机版就顺利安装完成。(如果按照官方文档教程,我测试了,在国内太难了)

    验证 k8s 集群

 

如何搭建单机版k8s docker 单机安装k8s_如何搭建单机版k8s docker

    安装 dashboard

#安装 dashboard,此命令是在虚拟机的k8s中安装 dashboard
minikube dashboard
#对外访问dashboard,执行如下命令,作用是建立一条通往API服务器的隧道,可以方便查看API服务器上的资源
kubectl proxy --port=8001 --address='your server ip' --accept-hosts='^.*'

   不用经过 token 验证就就可以访问 dashboard 了,方便我们学习和测试.

   有兴趣的同学,可以百度一下 k8s 的api, 就能理解一下URL了

   访问地址: http://your-ip:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

如何搭建单机版k8s docker 单机安装k8s_CentOS_02

    2  None 

     就我个人学习而言,我比较喜欢使用None的方式。

  1.  安装简单,依赖较少。
  2.  使用本地docker 创建容器,很容易就能了解服务的架构。

     安装并配置本地 docker

#安装并启动 docker
yum install docker-ce -y && systemctl enable docker --now
#配置镜像加速器
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://zgmke8qe.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload  &&  systemctl restart docker

     minikube 安装 k8s

#由于配置了镜像加速器,所以不需要指定  --registry-mirror 
minikube start --iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.7.3.iso
--image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers  --driver=none
# 如果安装中提示(X Sorry, Kubernetes 1.18.3 requires conntrack to be installed in root's path) 可执行以下命令安装
 yum install conntrack -y

 

备注:如果想删除k8s,或者安装的时候出错,可以初始化系统环境, 只需要执行命令 minikube delete, 然后就可以重新安装了.