一、修改Ubuntu镜像
sudo vim /etc/apt/sources.list
追加后续镜像地址或者覆盖
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
更新并且验证
sudo apt update
sudo apt dist-upgrade
二、安装docker
卸载旧版本
sudo apt remove docker docker-engine docker.io containerd runc
//删除旧版本的k8s组件,没有安装可以不用管
sudo rm -rvf $HOME/.kube
sudo rm -rvf ~/.kube/
sudo rm -rvf /etc/kubernetes/
sudo rm -rvf /etc/systemd/system/kubelet.service.d
sudo rm -rvf /etc/systemd/system/kubelet.service
sudo rm -rvf /usr/bin/kube*
sudo rm -rvf /etc/cni
sudo rm -rvf /opt/cni
sudo rm -rvf /var/lib/etcd
sudo rm -rvf /var/etcd
设置存储库
sudo apt update
sudo apt install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
添加GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
设置稳定存储库
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
安装docker引擎
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
运行hello-world验证是否安装正常
sudo docker run hello-world
创建docker组,Minikube需要在非root用户下使用;注意:再启动时也可以直接强制性用root启动,可以不用创建用户
useradd --r -m -s /bin/bash minikube
passwd minikube
adduser minikube sudo #给用户添加管理员权限
groupadd docker
usermod -aG docker minikube
newgrp docker
root用户下:
apt install apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
# 设置源
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
# 下载kubectl工具
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
#设置权限
chmod +x ./kubectl
#移动到系统目录下
mv ./kubectl /usr/local/bin/kubectl
#查看版本号
kubectl version
三、安装minikube
设置权限,并且移动到usr的bin目录下
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
直接使用root账号强制启动,也可以使用上面创建的(minikube用户):
minikube start --vm-driver=docker --base-image="anjone/kicbase" --force --kubernetes-version=1.23.0
问题汇总
出现:Exiting due to HOST_JUJU_LOCK_PERMISSION
执行:rm /tmp/juju-*
出现:Exiting due to RT_DOCKER_MISSING_CRI_DOCKER_NONE
原因:版本太高了,1.24开始,dockershim已经从kubelet中移除,但因为历史问题Docker却不支持K8S主推的CRI(容器运行时接口)标准,所以Docker不能再作为K8S的容器运行时了,即从K8S 1.24开始不再使用Docker了。但是如果想继续使用Docker的话,可以在kubelet和Docker之间加上一个中间层cri-docker。需要下载 https://github.com/Mirantis/cri-dockerd;这里更换一下版本:minikube start --vm-driver=docker --base-image=“anjone/kicbase” --force --kubernetes-version=1.23.0
部署服务
kubectl create deployment nginx --image=nginx:1.14-alpine
kubectl expose deployment nginx --port=80 --type=NodePort #暴露服务
kubectl port-forward svc/nginx 30000:80 --address='0.0.0.0' & #端口转发
腾讯云中放开映射端口
四、卸载
minikube stop
minikube delete --all
docker rmi 镜像id
rm -rf ~/.kube ~/.minikube
sudo rm -rf /usr/local/bin/minikube
五、问题归总
网上许多下面这个链接下载下来的包,在启动时拉去镜像会导致404问题,启动不了。
https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.12.1/minikube-linux-amd64
推荐使用官方地址下载
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
外网访问不到的问题需要去映射端口
kubectl port-forward svc/nginx 30000:80 --address='0.0.0.0'