目录
(一)安装 Minikube(一种在本地运行 Kubernetes 的工具)
(三)配置 kubectl(Kubernetes 的命令行工具)
(三)查看 Pods、Deployments 和 Services
一、简介
Kubernetes 是一个开源的容器编排引擎,用于自动化部署、扩展和管理容器化应用程序。它提供了强大的功能,如自动调度、自动扩缩容、服务发现、负载均衡等。
二、安装与配置
(一)安装 Minikube(一种在本地运行 Kubernetes 的工具)
- 安装依赖:根据你的操作系统安装 VirtualBox、Hyper-V 或 KVM 等虚拟化软件。
- 下载 Minikube:从官方网站下载适合你操作系统的 Minikube 安装包。
- 安装 Minikube:运行安装包,按照提示完成安装。
(二)启动 Minikube
- 打开终端,输入以下命令启动 Minikube:
minikube start
- 等待启动过程完成,这可能需要一些时间。
(三)配置 kubectl(Kubernetes 的命令行工具)
- 下载 kubectl:从官方网站下载适合你操作系统的 kubectl 安装包。
- 安装 kubectl:将 kubectl 可执行文件添加到系统路径中。
- 配置 kubectl:运行以下命令配置 kubectl 以连接到 Minikube:
kubectl config use-context minikube
三、基本操作
(一)创建 Deployment
- 创建一个 YAML 文件,例如
deployment.yaml,内容如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app-container
image: my-app-image:latest
ports:
- containerPort: 80
- 在终端中运行以下命令创建 Deployment:
kubectl apply -f deployment.yaml
(二)创建 Service
- 创建一个 YAML 文件,例如
service.yaml,内容如下:
apiVersion: v1
kind: Service
metadata:
name: my-app-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 80
- 在终端中运行以下命令创建 Service:
kubectl apply -f service.yaml
(三)查看 Pods、Deployments 和 Services
- 查看 Pods:
kubectl get pods
- 查看 Deployments:
kubectl get deployments
- 查看 Services:
kubectl get services
(四)删除资源
- 删除 Deployment:
kubectl delete deployment my-app
- 删除 Service:
kubectl delete service my-app-service
四、高级操作
(一)自动扩缩容
- 安装 Horizontal Pod Autoscaler(HPA):
kubectl apply -f https://raw.githubusercontent.com/kubernetes/metrics-server/master/deploy/1.8+/components.yaml
- 创建一个 HPA 对象,例如
hpa.yaml,内容如下:
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: my-app-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my-app
minReplicas: 1
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50
- 在终端中运行以下命令创建 HPA 对象:
kubectl apply -f hpa.yaml
(二)滚动更新
- 修改 Deployment 的 YAML 文件,例如更新容器镜像版本。
- 在终端中运行以下命令应用更新:
kubectl apply -f deployment.yaml
五、故障排除
- 如果 Pod 处于 Pending 状态,检查是否有足够的资源(如 CPU、内存)可用,以及是否有节点处于 Ready 状态。
- 如果 Pod 处于 CrashLoopBackOff 状态,查看 Pod 的日志以确定问题所在:
kubectl logs <pod-name>
- 如果 Service 无法访问,检查 Service 的 selector 是否正确匹配 Pod 的标签,以及是否有网络策略阻止了访问。
以上是一个基本的 Kubernetes 操作手册,希望对你有所帮助。在实际使用中,还可以深入学习 Kubernetes 的更多功能和特性,以满足不同的应用场景需求。
8042

被折叠的 条评论
为什么被折叠?



