前言
上期讲到要实现.net 6框架下的EF Core操作数据库基本增删改查,没有及时兑现。没有兑现的原因就是因为安装kubernetes。安装kubernetes的过程是灾难性的,也是十分顺利的。灾难性是因为在安装kubernetes过程中误操作,在/etc下执行了一个重置的命令导致我的工作站系统崩塌了。索性直接将原来的Ubuntu-Desktop22.04版的系统(对硬件有一定的要求,所以有点卡),换成了Ubuntu-server22.04系统。这个过程中用到了一个制作u启动的工具—ventoy。关于ventoy的介绍请看我的另一篇文章制作启动U盘工具—ventoy。十分顺利就是一次成功。闲言少叙,请看正文。
基础环境
系统(版本) |
---|
Ubuntu-server 22.04 |
安装kubectl,用来操作k8s
官网提供三种在 Linux 系统中安装 kubectl 的方法:
1、用 curl 在 Linux 系统中安装 kubectl
2、用原生包管理工具安装
3、用其他包管理工具安装
官网地址:https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-linux/
我们选用第一种方法:
先查看电脑系统型号是arm64还是x86的uname -m
# 下载最新发行版
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
# 验证该可执行文件(可选步骤)
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
# 验证通过时,输出为:
kubectl: OK
# 验证失败时,sha256 将以非零值退出,并打印如下输出:
kubectl: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
# 安装 kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
安装docker,用作k8s启动驱动
# 安装docker
sudo apt-get install -y docker.io
# 启动docker(默认启动)
systemctl start docker
# 设置为开机自启动(默认)
systemctl enable docker
docker运行需要用非root用户,否则会报错。
1、添加docker用户组:sudo groupadd docker
执行以上命令会提示已存在,原因是在安装docker时已自动创建。
2、将指定用户添加到用户组(username为你的用户名):sudo gpasswd -a username docker
3、添加完成以后需要关闭当前窗口,重新启动docker
3、重启docker:sudo systemctl restart docker
5、更新用户组:newgrp docker
安装k8s,单机版的就是minikube
下载安装
官网地址:https://minikube.sigs.k8s.io/docs/start/
我的系统是Ubuntu,属于Debian系的。安装的时候根据自己的系统选择。
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
sudo dpkg -i minikube_latest_amd64.deb
指定启动驱动
启动
minikube start
这个过程有点慢,因为需要下载东西。到图片的最后,说明启动成功,但是现在只能通过127.0.0.1在服务器的默认浏览器查看。我的是server版的,没有浏览器,需要从外网查看的。还需要再设置一步。
# 192.168.11.82 为你服务器本机地址。port根据自己的系统设置,只要不冲突就好。
kubectl proxy --port=8001 --address='192.168.11.82' --accept-hosts='^.*' &
通过 url: http://192.168.11.82:8001/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/ 访问 dashboard。
最终效果图。
我的安装比较顺利,一次性搞定。这里不提供任何错误的参考信息,如果遇到解决不了的错误,可以发在评论区,我来帮大家解答。