Ubuntu 18.04 通过 Minikube 安装 Kubernetes v1.20

简介: Ubuntu 18.04 通过 Minikube 安装 Kubernetes v1.20

Ubuntu 18.04 通过 Minikube 安装 Kubernetes v1.20

tags: kubernetes,部署,minikube

文章目录

Ubuntu 18.04 通过 Minikube 安装 Kubernetes v1.20

1. 关闭swap

2. 安装依赖tools

3. 添加阿里云镜像

4. 安装 Docker、kubectl、kubeadm

5. 配置阿里云 Docker 镜像加速器

6. 安装 Minikube

7. 检查

8. 常用命令

9.异常

9.1 部署异常

10. 部署应用程序

11. 集群启动与停止

1. 关闭swap

swapoff -a

2. 安装依赖tools

sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common conntra

由于国内网络的不稳定性,我们需要将相关镜像源切换为国内阿里云的镜像

3. 添加阿里云镜像

curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
sudo apt-get update

4. 安装 Docker、kubectl、kubeadm

#查看docker版本
$ sudo apt-cache madison docker.io
 docker.io | 19.03.6-0ubuntu1~18.04.3 | http://cn.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages
 docker.io | 19.03.6-0ubuntu1~18.04.2 | http://cn.archive.ubuntu.com/ubuntu bionic-security/universe amd64 Packages
 docker.io | 17.12.1-0ubuntu1 | http://cn.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
sudo apt-get install -y docker.io kubectl kubeadm

5. 配置阿里云 Docker 镜像加速器

这里采用了阿里云的镜像加速器(需要阿里云账号进行登录),地址:阿里云 -> 容器镜像服务 -> 镜像工具 -> 镜像加速器

1035234-20181020215539574-213176954.png

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

以上配置是阿里云镜像加速器中的配置,本文中这一块儿是直接从阿里云镜像加速器中的配置说明复制的,大家根据自己的情况在阿里云镜像加速器中去复制。

6. 安装 Minikube

目前最新 v1.24.0,查看最新版:https://github.com/kubernetes/minikube/releases

如果curl无法下载,也可以通过手动下载并上传到服务器的形式

curl -Lo minikube https://github.com/kubernetes/minikube/releases/download/v1.17.1/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

使用 Minikube 创建 Kubernetes

格式1

minikube start --vm-driver=none --apiserver-ips=<your-server-ip> --image-mirror-country cn \
 --iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.17.1.iso \
 --registry-mirror=https://xxxxxx.mirror.aliyuncs.com \
 --image-repository=https://registry.aliyuncs.com/google_containers

此处的 registry-mirror 是阿里云的镜像加速器的 mirror,换成你自己的即可; apiserver-ips 则是你服务器的IP,我的是https://q2hy3fzi.mirror.aliyuncs.com,因为如果需要远程访问的话,需要将服务器的IP进行暴露,同样换成你自己的服务器IP即可.

执行命令:

minikube start --vm-driver=none --apiserver-ips=192.168.211.55 --image-mirror-country cn

输出内容:

* minikube v1.17.1 on Ubuntu 18.04
* Using the none driver based on existing profile
X The requested memory allocation of 1970MiB does not leave room for system overhead (total system memory: 1970MiB). You may face stability issues.
* Suggestion: Start minikube with less memory allocated: 'minikube start --memory=1970mb'
* Starting control plane node minikube in cluster minikube
* Restarting existing none bare metal machine for "minikube" ...
* OS release is Ubuntu 18.04.5 LTS
* Preparing Kubernetes v1.20.2 on Docker 19.03.6 ...
  - kubelet.resolv-conf=/run/systemd/resolve/resolv.conf
  - Generating certificates and keys ...
  - Booting up control plane ...
  - Configuring RBAC rules ...
* Configuring local host environment ...
* 
! The 'none' driver is designed for experts who need to integrate with an existing VM
* Most users should use the newer 'docker' driver instead, which does not require root!
* For more information, see: https://minikube.sigs.k8s.io/docs/reference/drivers/none/
* 
! kubectl and minikube configuration will be stored in /root
! To use kubectl or minikube commands as your own user, you may need to relocate them. For example, to overwrite your own settings, run:
* 
  - sudo mv /root/.kube /root/.minikube $HOME
  - sudo chown -R $USER $HOME/.kube $HOME/.minikube
* 
* This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true
* Verifying Kubernetes components...
* Enabled addons: storage-provisioner, default-storageclass
* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

如果不出意外的话,由 minikube 创建的单机 Kubernetes 环境就成功了。

7. 检查

root@spectre:~# kubectl get nodes
NAME      STATUS   ROLES                  AGE   VERSION
spectre   Ready    control-plane,master   68s   v1.20.2
root@spectre:~# kubectl get pods -A
NAMESPACE     NAME                              READY   STATUS    RESTARTS   AGE
kube-system   coredns-7f89b7bc75-774mp          1/1     Running   0          5m53s
kube-system   etcd-spectre                      1/1     Running   0          6m7s
kube-system   kube-apiserver-spectre            1/1     Running   0          6m7s
kube-system   kube-controller-manager-spectre   1/1     Running   0          6m7s
kube-system   kube-proxy-swbhc                  1/1     Running   0          5m53s
kube-system   kube-scheduler-spectre            1/1     Running   0          6m7s
kube-system   storage-provisioner               1/1     Running   0          6m6s
root@spectre:~# kubectl cluster-info
Kubernetes control plane is running at https://192.168.211.55:8443
KubeDNS is running at https://192.168.211.55:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

8. 常用命令

# 进入集群节点
minikube ssh
# 查看节点 IP
minikube ip
# 停止集群
minikube stop
# 删除集群
minikube delete

9.异常

9.1 部署异常

storage-provisioner Pod镜像名称错误

解决方法

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v5
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v5 registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-minikube/storage-provisioner:v5
minikube image load registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-minikube/storage-provisioner:v5

10. 部署应用程序

创建一个示例部署并在端口 8080 上公开它:

kubectl create deployment hello-minikube --image=registry.aliyuncs.com/google_containers/echoserver:1.4
deployment.apps/hello-minikube created
kubectl expose deployment hello-minikube --type=NodePort --port=8080
kubectl get services hello-minikube

11. 集群启动与停止

当我们需要修改docker配置等需要集群停止的需求可以执行命令:

minikube stop

当修改完配置

minikube start

参考:


kind 部署 kubernetes 集群

Minikube 在ubuntu 部署 Kubernetes

Minikube 在 Centos 7 部署 Kubernetes

kubeadm 部署 kubernetes 集群

更多Minikube细节请参考官方

kubernetes 快速学习手册


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
打赏
0
0
0
0
47
分享
相关文章
在Ubuntu Linux系统下如何搭建并安装EDK2
以上就是在Ubuntu Linux系统下搭建并安装EDK2的过程。这个过程可能会有些复杂,但只要按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,都可以在网上找到相应的解决方案。希望这个指南能对你有所帮助!
43 17
在Ubuntu系统的Docker上安装MySQL的方法
以上的步骤就是在Ubuntu系统的Docker上安装MySQL的详细方法,希望对你有所帮助!
79 12
|
18天前
|
Ubuntu中dpkg和apt命令:debian包安装详解
希望这让你对于Ubuntu中的dpkg和apt命令有了更为清晰的理解。下次你面对软件包安装的问题,就可以轻松应对,优雅地在你的Linux系统中游刃有余了。
145 10
容器技术实践:在Ubuntu上使用Docker安装MySQL的步骤。
通过以上的操作,你已经步入了Docker和MySQL的世界,享受了容器技术给你带来的便利。这个旅程中你可能会遇到各种挑战,但是只要你沿着我们划定的路线行进,你就一定可以达到目的地。这就是Ubuntu、Docker和MySQL的灵魂所在,它们为你开辟了一条通往新探索的道路,带你亲身感受到了技术的力量。欢迎在Ubuntu的广阔大海中探索,用Docker技术引领你的航行,随时准备感受新技术带来的震撼和乐趣。
81 16
|
27天前
|
在Ubuntu下安装Debian包:dpkg与apt命令的深度解构。
安装Debian包的知识,就像掌握了海上的航行技术,虽然起初会让人感到陌生甚至困惑,但只要你积累熟练,就能在Ubuntu的世界里畅游无阻。就像每一位成功的航海家,掌握好这些工具,去探索属于你的Ubuntu新世界吧!
85 21
|
1月前
|
Ubuntu gnome WhiteSur-gtk-theme类mac主题正确安装和卸载方式
通过这个过程,用户不仅可以定制自己的桌面外观,还可以学习到更多关于 Linux 系统管理的知识,从而更好地掌握系统配置和主题管理的技巧。
103 12
在Ubuntu上安装MEAN Stack的4个步骤
本指南介绍了在Ubuntu上安装MEAN Stack的四个步骤。MEAN Stack是一种基于JavaScript的开发堆栈,包含MongoDB、ExpressJS、AngularJS和NodeJS。步骤包括:1. 更新系统并准备安装MEAN;2. 从官方源安装最新版MongoDB;3. 安装NodeJS、Git和NPM;4. 克隆mean.io仓库并使用NPM安装剩余依赖项。通过这些步骤,您可以快速搭建基于MEAN Stack的应用开发环境。
46 2
如何在Ubuntu 20.04系统中安装Docker
安装 Docker 引擎的步骤如下:首先更新系统包索引 (`sudo apt update`),安装必要依赖包 (`apt-transport-https` 等),添加 Docker 官方 GPG 密钥及 APT 仓库。接着再次更新包索引并安装 Docker 引擎及相关工具 (`docker-ce` 等)。最后启动 Docker 服务并设置开机自启,通过 `docker --version` 和运行测试容器 (`sudo docker run hello-world`) 验证安装是否成功。
327 0
在 Ubuntu 20.04 上安装和配置 Redis
在 Ubuntu 20.04 上安装和配置 Redis 的步骤如下:首先更新系统包,然后通过 `apt` 安装 Redis。安装后,启用并启动 Redis 服务,检查其运行状态。可选配置包括修改绑定 IP、端口等,并确保防火墙设置允许外部访问。最后,使用 `redis-cli` 测试 Redis 功能,如设置和获取键值对。
55 1
2025 超详细!Lens Kubernetes IDE 多平台下载安装与集群管理教程
Lens 是一款企业级 Kubernetes 可视化操作平台,2025版实现了三大技术革新:AI智能运维(异常检测准确率98.7%)、多云联邦管理(支持50+集群)和实时3D拓扑展示。本文介绍其安装环境、配置流程、核心功能及高阶技巧,帮助用户快速上手并解决常见问题。适用于 Windows、macOS 和 Ubuntu 系统,需满足最低配置要求并前置依赖组件如 kubectl 和 Helm。通过 Global Cluster Hub 实现多集群管理,AI辅助故障诊断提升运维效率,自定义监控看板和插件生态扩展提供更多功能。