Kubernetes(k8s)是一种开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。下面是一个简单的k8s应用示例,涵盖了从准备工作到部署应用程序的完整过程。
一,准备工作
-
安装和配置Kubectl和Minikube:
- Kubectl是Kubernetes的命令行工具,用于与Kubernetes集群进行交互。
- Minikube是一个轻量级的Kubernetes集群,用于本地开发和测试。
-
安装Kubectl:
- 根据你的操作系统,从Kubernetes官方网站下载并安装Kubectl。
-
安装Minikube:
- 使用包管理器(如apt、yum或brew)或直接从Minikube官方网站下载并安装Minikube。
二,创建Kubernetes集群
- 启动Minikube集群:
minikube start
三,部署应用程序
1.创建一个Deployment:
- Deployment是Kubernetes中的一种工作负载对象,用于定义应用程序的期望状态。
- 创建一个名为
nginx.yaml
的YAML文件,内容如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
2.应用Deployment:
kubectl apply -f nginx.yaml
3.创建一个Service:
- Service是Kubernetes中的一种资源类型,用于定义如何访问应用程序。
- 创建一个名为
nginx-service.yaml
的YAML文件,内容如下:
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
4.应用Service:
kubectl apply -f nginx-service.yaml
四,测试应用程序
获取Service的IP地址:
kubectl get service nginx-service
使用curl命令测试应用程序:
curl <Service的IP地址>
五,清理资源
1.删除Deployment和Service:
kubectl delete -f nginx.yaml
kubectl delete -f nginx-service.yaml
2.停止Minikube集群:
minikube stop