k8s入门:从安装到实际应用
本文介绍了如何在本地安装 Kubernetes 并部署一个简单的 Nginx 应用。Kubernetes 是一个功能强大的平台,提供了丰富的功能来管理和扩展容器化应用程序。通过掌握本文介绍的基本概念和操作,你可以开始探索 Kubernetes 的更多高级功能,以满足实际应用的需求。
Kubernetes (K8s) 入门指南:从安装到实际应用
Kubernetes 是一个开源的容器编排平台,用于自动化容器化应用程序的部署、扩展和管理。它能帮助你管理多个容器化应用程序,并确保它们在不同环境下的一致性和可用性。本文将介绍如何在本地环境安装 Kubernetes 并进行简单的应用部署。
一、安装 Kubernetes
Kubernetes 的安装可以通过多种方式完成,以下是几种常见的安装方法:
1. 使用 Minikube 安装 Kubernetes
Minikube 是一个工具,可以在本地运行单节点 Kubernetes 集群,适合开发和测试使用。
步骤:
-
安装 Minikube:
-
在 Linux 上:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube /usr/local/bin/
-
在 macOS 上:
brew install minikube
-
在 Windows 上:
下载 Minikube 并将其添加到系统路径。
-
-
安装 kubectl:
kubectl
是 Kubernetes 的命令行工具,用于管理 Kubernetes 集群。-
在 Linux 上:
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl" chmod +x ./kubectl sudo mv ./kubectl /usr/local/bin/kubectl
-
在 macOS 上:
brew install kubectl
-
在 Windows 上:
下载 kubectl 并将其添加到系统路径。
-
-
启动 Minikube:
#安装相关依赖
yum install -y conntrack git wget golang
VERSION="v1.30.0"
wget https://github.com/kubernetes-sigs/cri-tools/releases/download/$VERSION/crictl-$VERSION-linux-amd64.tar.gz
tar zxvf crictl-$VERSION-linux-amd64.tar.gz -C /usr/local/bin
git clone https://github.com/Mirantis/cri-dockerd.git
cd cri-dockerd
mkdir bin
go get && go build -o bin/cri-dockerd
mv bin/cri-dockerd /usr/local/bin/
wget https://raw.githubusercontent.com/Mirantis/cri-dockerd/master/packaging/systemd/cri-docker.service -O /etc/systemd/system/cri-docker.service
wget https://raw.githubusercontent.com/Mirantis/cri-dockerd/master/packaging/systemd/cri-docker.socket -O /etc/systemd/system/cri-docker.socket
sudo systemctl daemon-reload
sudo systemctl enable cri-docker.service
sudo systemctl enable cri-docker.socket
sudo systemctl start cri-docker.service
sudo systemctl start cri-docker.socket
#启动minikube
minikube start
-
验证安装:
kubectl get nodes
如果安装成功,你应该会看到一个名为
minikube
的节点。
2. 使用 Kind 安装 Kubernetes
Kind (Kubernetes IN Docker) 是另一个适合本地开发的 Kubernetes 集群工具,通过 Docker 容器运行 Kubernetes 集群。
步骤:
-
安装 Kind:
-
在 Linux 和 macOS 上:
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64 chmod +x ./kind sudo mv ./kind /usr/local/bin/kind
-
在 Windows 上:
下载 Kind 并将其添加到系统路径。
-
-
创建 Kubernetes 集群:
kind create cluster
-
验证安装:
kubectl cluster-info --context kind-kind
二、部署应用到 Kubernetes
一旦 Kubernetes 集群启动并运行,你可以开始部署应用程序。以下是一个简单的 Nginx 应用部署示例:
-
创建 Nginx Deployment:
Deployment
用于声明应用的期望状态,Kubernetes 将确保实际状态匹配声明的期望状态。kubectl create deployment nginx --image=nginx
-
暴露 Nginx 服务:
Service
用于将 Deployment 暴露为一个网络服务。kubectl expose deployment nginx --port=80 --type=NodePort
-
查看服务信息:
kubectl get services
你将看到类似以下的输出,其中
PORT(S)
显示了服务暴露的端口:NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE nginx NodePort 10.96.0.1 <none> 80:PORT/TCP 1m
-
访问 Nginx 应用:
在浏览器中访问
http://<Node_IP>:<PORT>
,其中<Node_IP>
是集群节点的 IP 地址,<PORT>
是上一步中显示的端口。
三、管理 Kubernetes 应用
Kubernetes 提供了丰富的功能来管理和扩展你的应用程序:
-
扩展 Deployment:
可以使用以下命令扩展 Nginx 部署的副本数:
kubectl scale deployment nginx --replicas=3
-
更新 Deployment:
可以使用以下命令滚动更新 Nginx 部署:
kubectl set image deployment/nginx nginx=nginx:latest
-
查看 Deployment 状态:
使用以下命令查看 Deployment 的状态:
kubectl get deployments
-
查看 Pod 日志:
使用以下命令查看 Pod 的日志:
kubectl logs <pod_name>
四、常见的 Kubernetes 资源类型
- Pod:Kubernetes 中最小的部署单元,包含一个或多个容器。
- Service:用于定义 Pod 的网络访问策略。
- Deployment:用于声明应用的期望状态,支持滚动更新和回滚。
- ConfigMap 和 Secret:用于管理应用配置和敏感信息。
- PersistentVolume (PV) 和 PersistentVolumeClaim (PVC):用于管理持久存储。
总结
本文介绍了如何在本地安装 Kubernetes 并部署一个简单的 Nginx 应用。Kubernetes 是一个功能强大的平台,提供了丰富的功能来管理和扩展容器化应用程序。通过掌握本文介绍的基本概念和操作,你可以开始探索 Kubernetes 的更多高级功能,以满足实际应用的需求。
更多推荐
所有评论(0)