云原生入门:Kubernetes的简易部署与应用

简介: 【8月更文挑战第31天】在云原生的世界里,Kubernetes(K8s)是一颗璀璨的星。本文将带你走进K8s的世界,从安装到简单应用,轻松驾驭这个强大的容器编排工具。让我们一起探索云原生的奥秘,解锁新技能!

云原生技术正改变着我们的开发和部署方式,而Kubernetes(简称K8s)作为其中的佼佼者,已成为许多企业和开发者的首选。今天,我们就来聊聊如何快速入门K8s,让它成为你技术栈中的得力助手。

首先,我们需要了解K8s是什么。简单来说,它是一个开源的容器编排系统,能够帮助你自动化地部署、扩展和管理容器化应用程序。想象一下,你有一个由多个微服务组成的应用,每个服务都在自己的容器中运行,K8s就是那个帮你管理这些容器的大管家。

安装Kubernetes

安装K8s有几种方法,这里我们介绍使用Minikube在本地进行安装。Minikube是一个轻量级的K8s实现,非常适合初学者进行尝试。

  1. 安装Minikube

    • 在Windows上,你可以使用Chocolatey包管理器:
      choco install minikube
      
    • 在macOS或Linux上,可以使用Homebrew或直接下载安装包。
  2. 启动Minikube

    minikube start
    

    这会启动一个虚拟机,并在其中运行K8s。

  3. 确认K8s已成功运行

    kubectl get nodes
    

    如果看到minikube节点处于Ready状态,那么恭喜你,K8s已经成功运行在你的机器上了!

部署一个简单的应用

现在我们已经有了一个运行的K8s环境,接下来让我们部署一个简单的应用。我们将使用官方的Hello World镜像。

  1. 创建一个部署文件hello-k8s.yaml

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: hello-k8s
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: hello-k8s
      template:
        metadata:
          labels:
            app: hello-k8s
        spec:
          containers:
          - name: hello-k8s
            image: k8s.gcr.io/echoserver:1.4
            ports:
            - containerPort: 8080
    
  2. 使用kubectl命令部署应用:

    kubectl apply -f hello-k8s.yaml
    
  3. 查看部署状态:

    kubectl get pods
    

    当Pods的状态变为Running时,表示应用已经在K8s上成功运行了。

  4. 访问应用
    为了能够访问到应用,我们需要创建一个服务:

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

    应用这个服务定义:

    kubectl apply -f hello-k8s-service.yaml
    

    然后获取服务的IP和端口:

    kubectl get service hello-k8s-service
    

    现在你可以在浏览器中输入http://<SERVICE_IP>:<PORT>来访问你的应用了。

至此,你已经成功地在K8s上部署并运行了一个应用。这只是K8s功能的冰山一角,但它已经展示了K8s的强大之处。随着你对K8s的深入了解,你会发现它能够为你的项目带来更多的可能性和便利。

云原生的世界充满了无限可能,而Kubernetes无疑是打开这个世界大门的钥匙。通过今天的学习,希望你已经迈出了探索云原生世界的第一步。继续前进吧,未来还有更多知识等着你去发现!

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
3月前
|
消息中间件 人工智能 安全
云原生进化论:加速构建 AI 应用
本文将和大家分享过去一年在支持企业构建 AI 应用过程的一些实践和思考。
911 49
|
4月前
|
存储 弹性计算 Cloud Native
云原生数据库的演进与应用实践
随着企业业务扩展,传统数据库难以应对高并发与弹性需求。云原生数据库应运而生,具备计算存储分离、弹性伸缩、高可用等核心特性,广泛应用于电商、金融、物联网等场景。阿里云PolarDB、Lindorm等产品已形成完善生态,助力企业高效处理数据。未来,AI驱动、Serverless与多云兼容将推动其进一步发展。
249 8
|
5月前
|
运维 Dubbo Cloud Native
Dubbo 云原生重构出击:更快部署、更强控制台、更智能运维
Apache Dubbo 最新升级支持云原生,提供一键部署微服务集群与全新可视化控制台,提升全生命周期管理体验,助力企业高效构建云原生应用。
400 25
|
9月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
514 12
|
11月前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
ACK One注册集群已正式支持ACS(容器计算服务)算力,为企业的容器化工作负载提供更多选择和更强大的计算能力。
|
11月前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
344 10
|
11月前
|
Cloud Native 安全 Serverless
云原生应用实战:基于阿里云Serverless的API服务开发与部署
随着云计算的发展,Serverless架构日益流行。阿里云函数计算(Function Compute)作为Serverless服务,让开发者无需管理服务器即可运行代码,按需付费,简化开发运维流程。本文从零开始,介绍如何使用阿里云函数计算开发简单的API服务,并探讨其核心优势与最佳实践。通过Python示例,演示创建、部署及优化API的过程,涵盖环境准备、代码实现、性能优化和安全管理等内容,帮助读者快速上手Serverless开发。
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
540 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
存储 设计模式 运维
YAML 管理 Kubernetes 应用
YAML 管理 Kubernetes 应用
529 1

热门文章

最新文章

推荐镜像

更多