Rocky9部署MiniKube

345 阅读2分钟

下载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

参考链接