Kubernetes(K8s)操作手册

目录

Kubernetes(K8s)操作手册

一、简介

二、安装与配置

(一)安装 Minikube(一种在本地运行 Kubernetes 的工具)

(二)启动 Minikube

(三)配置 kubectl(Kubernetes 的命令行工具)

三、基本操作

(一)创建 Deployment

(二)创建 Service

(三)查看 Pods、Deployments 和 Services

(四)删除资源

四、高级操作

(一)自动扩缩容

(二)滚动更新

五、故障排除


一、简介

Kubernetes 是一个开源的容器编排引擎,用于自动化部署、扩展和管理容器化应用程序。它提供了强大的功能,如自动调度、自动扩缩容、服务发现、负载均衡等。

二、安装与配置

(一)安装 Minikube(一种在本地运行 Kubernetes 的工具)

  1. 安装依赖:根据你的操作系统安装 VirtualBox、Hyper-V 或 KVM 等虚拟化软件。
  2. 下载 Minikube:从官方网站下载适合你操作系统的 Minikube 安装包。
  3. 安装 Minikube:运行安装包,按照提示完成安装。

(二)启动 Minikube

  1. 打开终端,输入以下命令启动 Minikube:

   minikube start

  1. 等待启动过程完成,这可能需要一些时间。

(三)配置 kubectl(Kubernetes 的命令行工具)

  1. 下载 kubectl:从官方网站下载适合你操作系统的 kubectl 安装包。
  2. 安装 kubectl:将 kubectl 可执行文件添加到系统路径中。
  3. 配置 kubectl:运行以下命令配置 kubectl 以连接到 Minikube:

   kubectl config use-context minikube

三、基本操作

(一)创建 Deployment

  1. 创建一个 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

  1. 在终端中运行以下命令创建 Deployment:

   kubectl apply -f deployment.yaml

(二)创建 Service

  1. 创建一个 YAML 文件,例如 service.yaml,内容如下:

   apiVersion: v1
   kind: Service
   metadata:
     name: my-app-service
   spec:
     selector:
       app: my-app
     ports:
     - protocol: TCP
       port: 80
       targetPort: 80

  1. 在终端中运行以下命令创建 Service:

   kubectl apply -f service.yaml

(三)查看 Pods、Deployments 和 Services

  1. 查看 Pods:

   kubectl get pods

  1. 查看 Deployments:
   kubectl get deployments

  1. 查看 Services:

   kubectl get services

(四)删除资源

  1. 删除 Deployment:

   kubectl delete deployment my-app

  1. 删除 Service:

   kubectl delete service my-app-service

四、高级操作

(一)自动扩缩容

  1. 安装 Horizontal Pod Autoscaler(HPA):

   kubectl apply -f https://raw.githubusercontent.com/kubernetes/metrics-server/master/deploy/1.8+/components.yaml

  1. 创建一个 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

  1. 在终端中运行以下命令创建 HPA 对象:

   kubectl apply -f hpa.yaml

(二)滚动更新

  1. 修改 Deployment 的 YAML 文件,例如更新容器镜像版本。
  2. 在终端中运行以下命令应用更新:

   kubectl apply -f deployment.yaml

五、故障排除

  1. 如果 Pod 处于 Pending 状态,检查是否有足够的资源(如 CPU、内存)可用,以及是否有节点处于 Ready 状态。
  2. 如果 Pod 处于 CrashLoopBackOff 状态,查看 Pod 的日志以确定问题所在:

   kubectl logs <pod-name>

  1. 如果 Service 无法访问,检查 Service 的 selector 是否正确匹配 Pod 的标签,以及是否有网络策略阻止了访问。

以上是一个基本的 Kubernetes 操作手册,希望对你有所帮助。在实际使用中,还可以深入学习 Kubernetes 的更多功能和特性,以满足不同的应用场景需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值