K8s入门


1. 准备工作

在开始之前,你需要准备好以下环境:

  • Kubernetes集群:可以使用Minikube(本地单节点集群)或Kubeadm(多节点集群)。
  • kubectl:Kubernetes命令行工具,用于与集群交互。
  • Docker:用于构建和运行容器。

安装步骤:

  1. 安装Docker
  2. 安装kubectl
  3. 安装Minikube(可选)

2. Kubernetes 核心概念

在动手操作之前,先了解一些核心概念:

  • Pod:最小的部署单元,包含一个或多个容器。
  • Deployment:定义Pod的部署和更新策略。
  • Service:为Pod提供稳定的网络访问。
  • Namespace:用于资源隔离,支持多团队共享集群。

3. 创建第一个应用

步骤 1:创建一个Deployment

Deployment用于定义Pod的部署方式。以下是一个简单的Deployment配置文件(nginx-deployment.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:latest
        ports:
        - containerPort: 80
  • 使用以下命令创建Deployment:

    kubectl apply -f nginx-deployment.yaml
    
  • 查看Deployment状态:

    kubectl get deployments
    
  • 查看Pod状态:

    kubectl get pods
    

步骤 2:创建一个Service

Service用于暴露Pod的网络访问。以下是一个简单的Service配置文件(nginx-service.yaml):

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: LoadBalancer
  • 使用以下命令创建Service:

    kubectl apply -f nginx-service.yaml
    
  • 查看Service状态:

    kubectl get services
    
  • 访问Nginx:

    • 如果是Minikube,运行以下命令获取访问地址:
      minikube service nginx-service
      

4. 常用命令

以下是一些常用的kubectl命令:

  • 查看资源状态

    kubectl get pods
    kubectl get deployments
    kubectl get services
    
  • 查看Pod日志

    kubectl logs <pod-name>
    
  • 进入Pod的容器

    kubectl exec -it <pod-name> -- /bin/bash
    
  • 删除资源

    kubectl delete -f <filename.yaml>
    kubectl delete pod <pod-name>
    

5. 进阶学习

完成基础操作后,可以进一步学习以下内容:

  1. ConfigMap与Secret:管理配置和敏感信息。
  2. 持久化存储:使用PersistentVolume(PV)和PersistentVolumeClaim(PVC)。
  3. Helm:Kubernetes的包管理工具。
  4. 监控与日志:使用Prometheus、Grafana等工具监控集群。
  5. 安全:学习RBAC、NetworkPolicy等安全机制。

6. 学习资源


通过以上步骤,你可以快速入门Kubernetes,并掌握基本的操作和概念。接下来可以根据实际需求深入学习更多高级功能!

posted @   guanyubo  阅读(61)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2024-03-03 利用单例模式与阻塞队列实现异步的日志系统,记录服务器运行状态
点击右上角即可分享
微信分享提示