自学内容网 自学内容网

Kubernetes基础知识

Kubernetes(k8s)

  • Kubernetes:是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它能够在多个服务器上高效运行容器,确保应用的高可用性和可扩展性。

一、Kubernetes的核心概念

  1. Pod:Kubernetes中最小的部署单元,可以包含一个或多个容器,这些容器共享网络和存储资源。
  2. Deployment:用于描述应用的期望状态,包括应用的副本数和更新策略。Deployment控制器负责维护这个状态,确保指定数量的Pod副本始终运行。
  3. Service:定义了一种访问Pod的方式,它提供一个稳定的IP地址和端口,即使Pod的实例发生变化,Service也能保持不变。
  4. Node:Kubernetes中的工作节点,可以是虚拟机或物理机,负责运行Pod。每个Node上运行着Kubelet,它管理Pod的生命周期。

二、安装Kubernetes

  1. 安装Minikube

    • 访问Minikube的官方发布页面下载适合您操作系统的安装包。

    • 安装Minikube,例如在Linux上,您可以使用以下命令:

      curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
      && chmod +x minikube
    • 将Minikube添加到您的PATH环境变量中,以便可以从任何位置调用它。

  2. 启动Minikube

    • 打开终端,运行以下命令启动Minikube:

      minikube start
    • 这将创建一个单节点的Kubernetes集群,适用于开发和测试。

三、部署应用到Kubernetes

  1. 创建Deployment

    • 使用以下命令创建一个名为nginx的Deployment,使用官方的Nginx镜像:

      kubectl create deployment nginx --image=nginx
  2. 查看Deployment

    • 查看已创建的Deployment:

      kubectl get deployments
  3. 创建Service

    • 创建一个Service来暴露Deployment,允许外部访问Nginx服务器:

      kubectl expose deployment nginx --port=80 --type=NodePort
  4. 查看Service

    • 查看已创建的Service:

      kubectl get services

四、访问应用

  • 在Service信息中找到NodePort的端口号。使用minikube service命令可以直接在浏览器中打开Nginx服务:

    minikube service nginx
  • 或者,您可以手动在浏览器中访问http://<Minikube-IP>:<NodePort>

五、扩展应用

  1. 扩展Deployment副本数量

    • 将Nginx Deployment的副本数量扩展到3:

      kubectl scale deployment nginx --replicas=3
  2. 查看副本数量

    • 查看Deployment的副本数量:

      kubectl get deployments

六、更新应用

  1. 更新Deployment镜像

    • 更新Nginx Deployment的镜像到新版本:

      kubectl set image deployment/nginx nginx=new-image:version
  2. 查看更新进度

    • 查看Deployment的更新状态:

      kubectl rollout status deployment/nginx

这些步骤提供了一个完整的流程,从安装Kubernetes环境到部署、管理和更新应用。Minikube是一个非常适合初学者和开发人员的本地Kubernetes环境。


原文地址:https://blog.csdn.net/2302_79415891/article/details/143669021

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!