Ubuntu 配置 kubernetes 学习环境,让外部访问 dashboard

news/2024/4/27 8:48:26

Ubuntu 配置 kubernetes 学习环境

一、安装

1. minikube

首先下载一下 minikube,这是一个单机版的 k8s,只需要有容器环境就可以轻松启动和学习 k8s。

首先你需要有Docker、QEMU、Hyperkit等其中之一的容器环境,以下使用 docker 进行。

对于 docker,需要当前用户能够拥有容器的管理员权限,即不用 sudo 就可以使用容器,如果你当前的用户需要 sudo docker 才能使用 docker,那么运行

sudo usermod -aG docker $USER && newgrp docker

将当前用户添加到 docker 管理员用户组。

当拥有容器环境之后,就可以使用二进制下载在 x86-64 Linux 上安装最新的 minikube 稳定版本:

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64

2. kubectl

除了 minikube 还有一个工具需要下载 kubectl,有两种下载方式。

  1. 直接下载

用以下命令下载最新发行版:

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

安装:

sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
  1. 使用 minikube 下载:
minikube kubectl -- get po -A

验证一下是否下载好了:
kubectl version --client

二、试用

启动集群

minikube start

第一次会下载和启动一些容器。

启动成功之后可以使用 docker 查看一下容器状态:

docker ps

这个时候我们还可以打开一个 web 网页的控制面板(在另一个终端中启动):

minikube dashboard

这样会自动在本机默认浏览器开启一个页面:

在这里插入图片描述
但是有时候我们希望自己选择在哪儿开启:

minikube dashboard --url

这样不会自动启动默认浏览器,而是会返回一个链接。

但是在很多时候,我们都是通过服务器或者虚拟机开启的集群,我们不希望在跑着容器的机器上使用控制面板,甚至目标设备都没有UI界面。但是我们通过目标设备的 IP 在自己的本地机器上通过浏览器访问控制界面时,发现访问不到,这是因为默认监听的是 127.0.0.1,即只允许本机访问。

为了让外部能够访问,可以设置一个 kubectl 的代理:

kubectl proxy --port=8002 --address='0.0.0.0' --accept-hosts='^*$'

如果不指定端口,默认是 8001.
这个时候将 minikube dashboard --url 返回的链接中的 IP 和 端口 修改为目标机器的IP和代理端口即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.cpky.cn/p/11173.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

C++第十三弹---内存管理(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、operator new与operator delete函数 1.1、operator new与operator delete函数 2、new和delete的实现原理 2.1、内置类型 2.2、自定义类型 …

通过Appium和Xcode Accessibility Inspector获取iOS应用元素定位的方法

在 iOS 移动应用程序上使用选择器查找元素定位是我们在移动端 UI 自动化测试的先决条件。 但是,由于应用程序内容在原生 iOS 应用程序中的呈现方式,我们可以用来定位应用程序元素的选择器与 Web 浏览器元素有很大不同。 在本文中,我们将了解 …

PASSL代码解读[01] readme

介绍 PASSL 是一个基于 PaddlePaddle 的视觉库,用于使用 PaddlePaddle 进行最先进的视觉自监督学习研究。PASSL旨在加速自监督学习的研究周期:从设计一个新的自监督任务到评估所学的表征。 PASSL 主要特性: 自监督前沿算法实现 PASSL 实现了…

批量删除 rabbitmq中随机队列

批量删除 amq.gen–* 随机队列 操作错误产生了无效随机队列,需要批量删除 过滤列出指定amq.gen–队列 # 列出 指定 vhost/qq 以amq.gen开头的所有队列 rabbitmqctl list_queues --vhost / | grep ^amq.gen-# 批量删除队列 #由于list_queues会列出队列名称以及对应…

设计模式——观察者模式Observer

Q:观察者模式属于哪一类设计模式 A:观察者模式属于行为学模式 Q:什么是观察者模式 A:当一个对象的状态发生改变时,所有依赖它的对象都得到通知,并自动更新 观察者模式解析:报纸类维护了一个…

如何使用极狐GitLab 自定义 Pages 根域名

本文作者:徐晓伟 GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 本文主要讲述了极狐GitLab Pages …