下载minikube二进制包
#下载minikube二进制包
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
设置driver为none
sudo minikube config set driver none
# 因为设置driver为none,即部署minikube时候使用系统的docker环境
# 需要满足如下环境
- 2 CPU’s
- 2GB RAM
- iptables (in legacy mode)
- conntrack
- crictl
- cni-plugins
- SELinux permissive
- cgroups v1 (v2 is not yet supported by Kubernetes)
使用的软件环境
本例子中使用的docker,所以需要提前安装好docker
下载安装conntrack
# 安装必备软件
yum install conntrack -y
安装crictl
#安装crictl
wget https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.27.1/crictl-v1.27.1-linux-amd64.tar.gz
tar -xf crictl-v1.27.0-linux-amd64.tar.gz
cp crictl /usr/bin/
配置crictl
修改crictl配置文件,获得containerd的sock信息,没有该文件的话创建一个(三台主机都设置上) root@node1:~# cat > /etc/crictl.yaml << EOF
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 10
debug: false
EOF
下载安装cri-dockerd
# 安装cri-dockerd
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.4/cri-dockerd-0.3.4.amd64.tgz
tar -xf cri-dockerd-0.3.4.amd64.tgz
cp cri-dockerd/cri-dockerd /usr/bin/
git clone https://github.com/Mirantis/cri-dockerd.git
cd cri-dockerd
install packaging/systemd/* /etc/systemd/system
systemctl daemon-reload
systemctl enable cri-docker.service
systemctl enable --now cri-docker.socket
安装网络插件
# 安装 containernetworking-plugins插件
CNI_PLUGIN_VERSION="v1.3.0"
CNI_PLUGIN_TAR="cni-plugins-linux-amd64-$CNI_PLUGIN_VERSION.tgz" # change arch if not on amd64
CNI_PLUGIN_INSTALL_DIR="/opt/cni/bin"
curl -LO "https://github.com/containernetworking/plugins/releases/download/$CNI_PLUGIN_VERSION/$CNI_PLUGIN_TAR"
sudo mkdir -p "$CNI_PLUGIN_INSTALL_DIR"
sudo tar -xf "$CNI_PLUGIN_TAR" -C "$CNI_PLUGIN_INSTALL_DIR"
rm "$CNI_PLUGIN_TAR"
修改containerd的配置文件
containerd config default | tee /etc/containerd/config.toml
sed -i 's#registry.k8s.io/pause:3.6#registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9#g' /etc/containerd/config.toml
sed -i 's#SystemdCgroup = false#SystemdCgroup = true#g' /etc/containerd/config.toml
重启containerd systemctl restart containerd
在使用minikube初始化安装之前需要先将两个镜像拉取下来并且重新打tag
阿里云加速器registry.cn-hangzhou.aliyuncs.com/google_containers中的镜像位置和最新版的minikube依赖的镜像不匹配,所以需要下载下来然后打tag
docker pull registry.aliyuncs.com/google_containers/storage-provisioner:v5
docker tag registry.aliyuncs.com/google_containers/storage-provisioner:v5 registry.aliyuncs.com/google_containers/k8s-minikube/storage-provisioner:v5
docker pull registry.aliyuncs.com/google_containers/coredns:v1.10.1
docker tag registry.aliyuncs.com/google_containers/coredns:v1.10.1 registry.aliyuncs.com/google_containers/coredns/coredns:v1.10.1
开始部署
minikube start --image-repository='registry.aliyuncs.com/google_containers'
查看pod
[root@node2 ~]# minikube kubectl -- get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-7bdc4cb885-cg7nl 1/1 Running 0 19m
kube-system etcd-node2 1/1 Running 0 19m
kube-system kube-apiserver-node2 1/1 Running 0 19m
kube-system kube-controller-manager-node2 1/1 Running 0 19m
kube-system kube-proxy-p7dpg 1/1 Running 0 19m
kube-system kube-scheduler-node2 1/1 Running 0 19m
kube-system storage-provisioner 1/1 Running 0 19m