Ubuntu22.04 安装单机版kubernetes

单机,kubernetes · 浏览次数 : 194

小编点评

**基础环境系统安装 k8s:** 1. **安装 kubectl:** 使用 `curl` 命令下载 kubectl binary,并验证文件是否已成功下载。 2. **设置 docker 用户组:** 使用 `sudo` 命令添加 `docker` 用户到 `docker3` 用户组,并退出当前窗口重新启动。 3. **设置 minikube 启动驱动:** 使用 `dpkg` 命令安装 `minikube` 软件,并使用 `kubectl config set driver docker` 命令设置启动驱动。 4. **启动 minikube:** 使用 `kubectl start` 命令启动 `minikube` 服务。 5. **访问 dashboard:** 使用 `kubectl proxy` 命令将本地 API 端点代理到 `192.168.11.82:8001`,访问 `kubernetes-dashboard` 页面。

正文

前言

上期讲到要实现.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 config set driver docker

启动

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。

最终效果图。
我的安装比较顺利,一次性搞定。这里不提供任何错误的参考信息,如果遇到解决不了的错误,可以发在评论区,我来帮大家解答。

与Ubuntu22.04 安装单机版kubernetes相似的内容:

Ubuntu22.04 安装单机版kubernetes

# 前言 上期讲到要实现.net 6框架下的EF Core操作数据库基本增删改查,没有及时兑现。没有兑现的原因就是因为安装kubernetes。安装kubernetes的过程是灾难性的,也是十分顺利的。灾难性是因为在安装kubernetes过程中误操作,在/etc下执行了一个重置的命令导致我的工作站

Linux系统上创建.NET6项目(通过命令行(CTL)方式)

前言 平时大家创建项目基本上都是借助开发工具创建,比如visual studio,visual studio code,今天我们在Linux系统上,通过命令行的形式创建.NET6项目。 版本介绍 系统版本:Ubuntu22.04 SDK版本:.NET6 安装.NET环境 # 升级系统 sudo ap

基于Ubuntu-22.04安装K8s-v1.28.2实验(四)使用域名访问网站应用

安装负载均衡metalb 安装metalb kubectl create namespace metallb-system 配置metalb #kubectl create secret generic -n metallb-system memberlist --from-literal=secr

Ubuntu 离线安装软件包

Ubuntu 离线安装软件包 关键词:apt-offline,Ubuntu,dpkg,.deb 本文使用的ubuntu20.04,当机器无法连接外网时,我们使用离线的方式安装软件包。 离线安装的软件包的几种方法 下载.deb文件,然后dpkg 依次进行安装。这种方式需要我们注意依赖 apt-offl

离线部署-docker

离线部署 docker 关键词:docker离线部署,images离线安装,docker compose,shell,minio docker离线安装 docker install offline 下载相应的版本的deb包,我的系统是ubuntu20.04,因此选择focal文件夹,路径: 按照文档

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

使用 Alacritty 替代 Gnome-Terminal 解决 Ubuntu 中终端的行间距问题

之前有篇随笔主要揭露了 Ubuntu 22.04 中 Terminal 中的行间距过大的问题,该问题对 Powerline 类的主题影响尤其大。关键是对于这个问题,网上反映的人很少,我也很郁闷。经过长时间关注,终于找到一个可以完美替代 Gnome-Terminal 的终端软件,可以解决以上问题,特推...

基于Canal实现MySQL 8.0 数据库数据同步

前言 服务器说明 | 主机名称 | 操作系统 | 说明 | |--|--| | | 192.168.11.82 | Ubuntu 22.04 | 主库所在服务器 | | 192.168.11.28 | Oracle Linux Server 8.7 | 从库所在服务器 | 版本说明 MySQL版本:

OpenSSL 生成 RootCA (根证书)并自签署证书(支持 IP 地址)

背景 某机房内部访问需要配置 HTTPS,网上找的一些证书教程都不是特别好,有些直接生成证书,没有根 CA 的证书导致信任不了 Ubuntu 机器,有些教程只有域名生成,没有 IP 生成,有些甚至报错。故发一个笔者在 Ubuntu 22.04 机器上测试正确可用的流程,这里使用 10.12.0.2

ASP.NET Core设置URLs的几种方法,完美解决.NET 6项目局域网IP地址远程无法访问的问题

近期在dotnet项目中遇到这样的问题:.net6 运行以后无法通过局域网IP地址远程访问。后查阅官方文档。整理出解决问题的五种方式方法,通过新建一个新的WebApi项目演示如下: 说明 操作系统:Ubuntu 22.04.2 运行时:.NET 6 开发工具:Visual Studio 2202 新