Kubernetes入门。使用Minikube部署一个k8s集群
你听说过Kubernetes以及它是如何帮助容器编排的吗?特别是如果你是新手。幸运的是,有一些工具可以使部署本地Kubernetes集群变得更加容易,Minikube就是其中最受欢迎的一种。在这篇文章中,我将指导你完成使用Minikube部署本地Kubernetes集群的步骤。
我将介绍如何安装Minikube,启动集群,验证它的运行,部署一个示例应用程序(Nginx),并使用Kubernetes服务将其公开。通过遵循本指南,你将能够快速建立一个本地的Kubernetes集群,并开始尝试使用Kubernetes,而不需要云环境或复杂的设置。所以,让我们潜心研究,开始吧!
先决条件。
在我们开始之前,你需要具备以下先决条件。
- 容器或虚拟机管理器,例如。Docker, QEMU, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, 或 VMware Fusion/Workstation
- 一台Linux、macOS或Windows机器。
- 在你的机器上安装一个软件包管理器(例如,MacOS的Homebrew或Windows的Chocolatey)。
Minicube: https://minikube.sigs.k8s.io/docs/
概述
- 安装Minikube
- 启动Minikube集群
- 验证集群是否在运行
- 部署一个示例应用程序
- 用一个服务来暴露示例应用程序
- 访问示例应用程序
步骤。
第1步:安装Minikube
使用Minikube部署本地Kubernetes集群的第一步是在你的机器上安装Minikube。安装Minikube的最简单方法是使用一个软件包管理器。
对于macOS,你可以使用Homebrew,通过运行以下命令来安装Minikube。
brew install minikube
对于Windows,你可以使用Chocolatey通过运行以下命令来安装Minikube。
choco install minikube
对于Linux x86_64,你可以按照Minikube网站上的安装说明进行安装。
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
更多安装方法:https://minikube.sigs.k8s.io/docs/start/
第2步:启动Minikube集群
一旦你安装了Minikube,你可以通过运行以下命令来启动本地Kubernetes集群。
minikube start
这个命令将在你的机器上使用安装在你机器上的虚拟化平台启动一个单节点的Kubernetes集群。
你可以自定义集群的配置。例如,启动一个有6个节点的集群
minikube start --nodes 6
第3步:验证集群是否在运行
在集群启动后,你可以通过运行下面的命令来验证集群是否在运行。
kubectl get nodes
该命令将显示集群中的节点。
第4步:部署一个示例应用程序
一旦集群运行,你可以部署一个样本应用程序来测试集群。
下面是一个样本应用程序的部署配置文件的例子。
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14-alpine
ports:
- containerPort: 80
这个部署配置文件规定,部署应该有3个副本,并且应该使用Docker镜像 "nginx:1.14-alpine"。它还规定,容器应该监听80端口。
要部署示例应用程序,请运行以下命令。
kubectl apply -f deployment.yaml
这个命令将在你的Minikube集群上创建部署。
要检查pod状态,请运行以下命令。
kubectl get pods
第5步:用一个服务来暴露示例应用程序
为了从Minikube集群之外访问示例应用程序,你需要创建一个Kubernetes服务来暴露它。
下面是一个样本应用程序的服务配置文件的例子。
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
type: LoadBalancer
这个服务配置文件指定了服务应该在端口80和目标端口80上监听。
要创建该服务,请运行以下命令。
kubectl apply -f services.yaml
你也可以使用kubectl expose命令创建一个服务。例如,通过运行下面的命令。
kubectl expose deployment nginx --type=LoadBalancer --port=80 --name=nginx-service
这个命令将在你的Minikube集群上创建服务。
要检查集群中的服务,运行以下命令。
kubectl get services
第6步:访问示例应用程序
你可以通过运行以下命令来访问我们需要创建minikube隧道的示例应用程序。
minikube tunnel
你需要保持这个终端打开。此外,如果你更新或创建新的服务,只需使用CTRL + C停止隧道,然后再次启动隧道。
现在,打开你的浏览器,输入localhost来访问应用程序。
恭喜你,你成功了 你现在有一个本地的Kubernetes集群在你的机器上使用Minikube运行。
现在你有了一个本地的Kubernetes集群,你可以开始尝试使用Kubernetes,并学习更多关于容器编排的知识。从Kubernetes文档开始,有许多资源可以帮助你学习更多。有了新的知识,你可以用Kubernetes以更高效、可扩展和灵活的方式管理容器。