【云原生丶Kubernetes】Kubernetes初体验

这篇具有很好参考价值的文章主要介绍了【云原生丶Kubernetes】Kubernetes初体验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

人生若只如初见,何事秋风悲画扇

前言

Kubernetes 是目前最流行的容器编排工具之一,由Google开发并维护。它提供了完整的容器编排解决方案,包括自动化部署、资源管理和调度、服务发现和负载均衡等功能。

然而,对于初学者来说,Kubernetes可能看起来非常复杂和难以理解,但是通过Minikube来使用它成本就很低了,Minikube 大大降低了学习与使用成本,通过它我们可以轻松驾驭Kubernetes

在本文中,我将带你一起安装kubectlMinikube,然后使用Minikube来体验 Kubernetes的基础功能,以便于更好的了解Kubernetes的基本概念和工作方式,并开始使用Kubernetes来管理和部署您的容器化应用程序。

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

安装 kubectl

⁉️ kubectl 是什么?

kubectlKubernetes的命令行工具,它提供了一种简单的方式来管理Kubernetes集群中的资源。通过kubectl,我们可以可以创建、更新、删除和查询Kubernetes集群中的资源,例如PodsServicesDeploymentsConfigMapsSecrets等。

以下是kubectl的一些主要功能:

  1. 创建资源:使用kubectl create命令可以创建新的Kubernetes资源,例如Pod、Service、Deployment等。
  2. 更新资源:使用kubectl apply命令可以更新现有的Kubernetes资源,例如修改Pod的配置文件或者更新Deployment的镜像版本。
  3. 删除资源:使用kubectl delete命令可以删除Kubernetes集群中的资源,例如删除一个Pod或者一个Deployment。
  4. 查询资源:使用kubectl get命令可以查询Kubernetes集群中的资源,例如查看所有的Pods或者一个Deployment的状态。
  5. 操作标签:使用kubectl label命令可以为Kubernetes集群中的资源添加或修改标签,以便进行更细粒度的管理和控制。

总之,kubectl是Kubernetes中非常重要的一个工具,它可以帮助用户轻松地管理Kubernetes集群中的资源,提高开发效率和降低成本。

⁉️ 通过Homebrew 安装 kubectl

⭐️ 1、brew 安装 kubectl

brew install kubectl

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

⭐️ 2、检查安装版本

可以通过kubectl version命令查看 kubectl 的安装版本,用于验证 kubectl 是否安装成功。

kubectl version --client

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

⭐️ 3、检查 kubectl 配置信息

为了让 kubectl 能发现并访问 Kubernetes 集群,当部署成功 Minikube集群时,会自动生成kubeconfig文件。

我们还可以通过获取集群状态的方法,检查是否已正确地配置了 kubectl

kubectl cluster-info

如果你看到 The connection to the server <server-name:port> was refused - did you specify the right host or port?,说明 kubectl 配置有问题,别急,安装完Minikube之后就正常了。

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

安装 minikube

Minikube 是一个"小而美"的 “迷你”版本 的 Kubernetes,它可执行文件仅有不到 100MB,运行镜像也不过 1GB左右,但它小小的资源占用下却干成了大事!它集成了 Kubernetes 的绝大多数功能特性,不仅有核心的容器编排功能,还有丰富的插件,例如 DashboardIngressIstioRegistry 等。

Minikube 是一个轻量级的Kubernetes本地开发环境,它可以在任何支持Docker的机器上运行。相比于完整的Kubernetes集群,minikube更加轻量级、易于安装和使用,并且不需要大量的硬件资源。

通过使用 minikube ,我们可以在不依赖于云服务提供商的情况下,快速地学习和测试Kubernetes的各种功能。帮助开发者在本地环境中快速地进行Kubernetes开发和测试,提高开发效率和降低学习成本。

以下是minikube的一些优势:

  1. 快速启动:minikube可以在几秒钟内启动一个本地的Kubernetes集群,这使得开发者可以快速地进行开发和测试。
  2. 简单易用:minikube提供了一个简单的命令行界面,使得用户可以轻松地创建和管理Kubernetes集群。
  3. 跨平台支持:minikube可以在Windows、MacOS和Linux等操作系统上运行,这使得用户可以在不同的平台上进行开发和测试。
  4. 独立性:minikube是一个独立的应用程序,它不需要依赖于其他软件或服务,这使得它更加稳定和可靠。
  5. 可扩展性:虽然minikube是一个轻量级的Kubernetes集群,但是它可以通过添加更多的节点来扩展集群的规模,以满足更大的负载需求。

⭐️ 1、安装 minikube

Kubernetes官网提供了多种安装方法, 你可以选择任意一种方式来进行安装。

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

我们通过Homebrew的方式来进行安装。

brew install minikube

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

⭐️ 2、查看minikube版本

安装成功后,我们通过 minikube version 命令检验一下安装的版本。

minikube version

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

⭐️ 3、运行 minikube

minikube 安装成功后,我们就可以运行它了!通过 start命令。

minikube start 命令用于启动 Minikube 集群。它会在本地计算机上创建一个虚拟机,并在其中运行 Kubernetes 集群。

在运行 minikube start 命令时,它将执行以下步骤:

  1. 检查 Minikube 是否已经安装,并下载最新版本的 Minikube(如果需要)。
  2. 检查虚拟化驱动程序是否可用,并下载和配置所需的虚拟化驱动程序(如果需要)。
  3. 创建一个虚拟机,并在其中运行 Kubernetes 集群。
  4. 配置 kubectl 命令行工具,以便它可以与 Minikube 集群进行通信。
minikube start

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

⭐️ 4、检查 Minikube 的状态

minikube status 命令用于检查 Minikube 的状态。它将显示 Minikube 的当前状态以及kubeletapiserver等组件的运行信息。

minikube status

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

⭐️ 5、获取 Kubernetes 集群中所有节点的状态信息

kubectl get nodes 命令用于获取 Kubernetes 集群中所有节点的状态信息。包含了集群中所有节点的名称、状态、角色、版本、内存和 CPU 使用情况等信息。

kubectl get nodes

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

⭐️ 6、获取 Kubernetes 集群信息

kubectl cluster-info 命令用于获取 Kubernetes 集群的信息。

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

⭐️ 7、停止minikube

minikube stop 命令用于停止 Minikube 集群。在运行 minikube stop 命令时,它将停止运行在本地计算机上的虚拟机,并关闭其中运行的 Kubernetes 集群。

minikube stop

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

Minikube 初体验

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

Kubernetes Pod 是由一个或多个为了管理和联网而绑定在一起的容器构成的组。

Kubernetes Deployment 检查 Pod 的健康状况,并在 Pod 中的容器终止的情况下重新启动新的容器。 Deployment 是管理 Pod 创建和扩展的推荐方法。

⭐️ 1、创建 Deployment

使用 kubectl create 命令创建管理 Pod 的 Deployment。该 Pod 根据提供的 Docker 镜像运行容器。

这里我们运行了k8s提供的公共测试镜像服务,并命名 deployment 为 hello-node。

# 运行包含 Web 服务器的测试容器镜像
kubectl create deployment hello-node --image=registry.k8s.io/e2e-test-images/agnhost:2.39 -- /agnhost netexec --http-port=8080

⭐️ 2、查看Pod状态信息

kubectl get pods 命令用于获取 Kubernetes 集群中所有 Pod 的状态信息。在运行 kubectl get pods 命令时,它将返回一个表格,其中包含了集群中所有 Pod 的名称、所属命名空间、状态、重启次数、启动时间等信息。

kubectl get pods

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

⭐️ 3、创建Service

在 Kubernetes 集群中创建一个 Service,并将其暴露为 NodePort 类型的服务,之后便可以访问在 Deployment 中运行的 Pod 的指定端口。

kubectl expose deployment/hello-node --type="NodePort" --port 8080

这个命令的含义是:

  1. kubectl expose 命令创建一个 Service 对象。
  2. --port 参数指定了 Service 对象要监听的端口号,这里是 8080
  3. --type="NodePort" 参数,Kubernetes 将为 Service 对象分配一个节点可访问的端口号

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

⭐️ 4、查看Service

kubectl get services 命令用于获取 Kubernetes 集群中所有 Service 对象的状态信息。

返回结果包含了集群中所有 Service 对象的名称、所属命名空间、类型、集群 IP 地址、端口等信息。

在输出的表格中,每一行表示一个 Service,每一列表示一个 Service 的属性。以下是 kubectl get services 命令输出的表格中可能包含的列:

  • NAME: Service 的名称。
  • TYPE: Service 的类型,例如 ClusterIP、NodePort 或 LoadBalancer。
  • CLUSTER-IP: Service 的集群 IP 地址。
  • EXTERNAL-IP: Service 的外部 IP 地址(如果有)。
  • PORT(S): Service 所公开的端口和协议。
  • AGE: Service 的创建时间。
kubectl get services

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

我们也可以指定查看 hello-node Service的信息

kubectl get services hello-node

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

⭐️ 5、Scale扩缩容

kubectl scale 命令用于扩展或缩小 Kubernetes 集群中的 Deployment、ReplicaSet 或 StatefulSet。它允许您动态地增加或减少正在运行的 Pod 的数量,以满足应用程序的负载需求。

执行如下命令,将扩展 Pod 数量为3个。

kubectl scale deployment hello-node --replicas=3

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

现在你有3个应用副本了, 每个都在群集上独立运行,并能负载均衡他们之间的流量。

我们再来查看一下 deployment 和 pod 的情况。

kubectl get deployment

kubectl get pods

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

Minikube 可视化

minikube dashboard 命令用于打开 Minikube 集群的可视化仪表板。在运行 minikube dashboard 命令时,它将启动一个 Web 服务器,并在默认浏览器中打开一个 Web 页面,显示 Minikube 集群的状态和详细信息。这使得管理和监视 Kubernetes 集群变得更加简单和直观。

Minikube 仪表板是一个基于 Web 的用户界面,可以让用户通过图形化方式管理 Kubernetes 集群。它提供了一些有用的功能,例如:

  • 查看 Kubernetes 集群中的节点、Pod、服务等资源的详细信息。
  • 查看 Kubernetes 集群的事件和日志。
  • 创建、编辑和删除 Kubernetes 资源。
  • 运行和监视应用程序。

⁉️ dashboard插件并不是默认启动的,需要我们手动开启

⭐️ 1、启用 dashboard插件

minikube addons enable dashboard

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

⭐️ 2、打开可视化面板

minikube dashboard 命令用于打开 Minikube 集群的可视化仪表板。

minikube dashboard

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

自动弹出浏览器控制台

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl

好啦,本文到此结束啦,minikube 这个小巧的 Kubernetes 还挺简单的,是不?

参考:Kubernetes官网


🎉 如果喜欢这篇文章,点赞👍 收藏关注 ✅ 哦,创作不易,感谢!😀

【云原生丶Kubernetes】Kubernetes初体验,云原生,# 你好 Kubernetes,云原生,kubernetes,minikube,安装kubectl,安装minikube,kubectl文章来源地址https://www.toymoban.com/news/detail-522076.html

到了这里,关于【云原生丶Kubernetes】Kubernetes初体验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kubernetes(K8s)从入门到精通系列之十六:linux服务器安装minikube的详细步骤

    安装Docker的详细步骤,可以阅读博主下面这篇技术博客文章:

    2024年02月12日
    浏览(46)
  • minikube安装kubernetes以及start启动报错解决办法:Unable to find image ‘gcr.io/k8s-minikube/kicbase

    使用minikubu安装kuburnetes集群,所遇到的问题,以及如何设置。 三种安装方式,练习使用minikube简单化安装,相关文档资料如下所示: 安装 Kubernetes 集群 安装minikube之前要先安装kubectl,以下是官方文档安装教程。文档很详细,并且建议根据文档安装下“ 启用 shell 自动补全功能

    2024年02月11日
    浏览(31)
  • 《Kubernetes部署篇:Ubuntu20.04基于二进制安装安装kubeadm、kubelet和kubectl》

    由于客户网络处于专网环境下, 使用kubeadm工具安装K8S集群 ,由于无法连通互联网,所有无法使用apt工具安装kubeadm、kubelet、kubectl,当然你也可以使用apt-get工具在一台能够连通互联网环境的服务器上下载kubeadm、kubelet、kubectl软件包,然后拷贝到专网主机上,通过dpkg工具安装

    2024年02月10日
    浏览(35)
  • Kubernetes(K8s)从入门到精通系列之十二:安装和设置 kubectl

    Kubernetes 命令行工具 kubectl, 让你可以对 Kubernetes 集群运行命令。 你可以使用 kubectl 来部署应用、监测和管理集群资源以及查看日志。 kubectl 版本和集群版本之间的差异必须在一个小版本号内。 例如:v1.27 版本的客户端能与 v1.26、 v1.27 和 v1.28 版本的控制面通信。 用最新兼容

    2024年02月14日
    浏览(32)
  • Kubernetes创建集群—使用 Minikube 创建集群

    Kubernetes 协调一个高可用计算机集群,每个计算机作为独立单元互相连接工作。  Kubernetes 中的抽象允许你将容器化的应用部署到集群,而无需将它们绑定到某个特定的独立计算机。为了使用这种新的部署模型,应用需要以将应用与单个主机分离的方式打包:它们需要被容器化

    2024年02月11日
    浏览(28)
  • 【Kubernetes】Kubernetes之kubectl详解

    kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口; kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为 apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径; kubectl 的命令大全: 对资

    2024年02月13日
    浏览(31)
  • 【云原生|Kubernetes】02-Kubeadm安装部署Kubernetes集群

    前面简单介绍了Kubernetes的相关架构及其组件,这一章节我们将介绍如何快速搭建Kubernetes的集群,这里我们将使用官方支持的用于部署 Kubernetes 的工具— kubeadm。 主机名 ip地址 节点类型 系统版本 master.example.com 192.168.194.128 master,etcd centos7.x node1.example.com 192.168.194.130 node1 cent

    2024年02月03日
    浏览(36)
  • 【kubernetes组件合集】深入解析Kubernetes组件之一:kubectl

    简介:Kubernetes是当今最受欢迎的容器编排和管理平台之一,而kubectl是Kubernetes的命令行工具,它提供了与Kubernetes集群进行交互的能力。本文将深入探讨kubectl的功能和用法,帮助读者全面了解这个重要的Kubernetes组件。 架构图来源: Cluster Architecture | Kubernetes  kubectl是Kubernete

    2024年04月28日
    浏览(24)
  • 【k8s】搭建小巧完备的Kubernetes环境(minikube)

    容器技术的核心概念是容器、镜像、仓库,使用这三大基本要素我们就可以轻松地完成应用的打包、分发工作,实现“一次开发,到处运行”的梦想。 不过,当我们熟练地掌握了容器技术,信心满满地要在服务器集群里大规模实施的时候,却会发现容器技术的创新只是解决了

    2024年02月02日
    浏览(42)
  • 【Kubernetes】kubectl 常用命令

    kubectl 是 Kubernetes 提供的命令行管理工具。通过使用 kubectl ,可以管理和操作 Kubernetes。 命令 说明 create 通过文件名或标准输入创建 Kubernetes 的资源 expose 将 Kubernetes 的资源展露为一个服务 run 在集群中运行一个特定的镜像 set 修改对象的特定功能 explain 给资源添加文档说明

    2024年02月03日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包