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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 【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无疑是打开这个世界大门的钥匙。通过今天的学习,希望你已经迈出了探索云原生世界的第一步。继续前进吧,未来还有更多知识等着你去发现!

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
3天前
|
Kubernetes Cloud Native 开发者
云原生入门:从Docker到Kubernetes的旅程
【9月更文挑战第16天】 本文将带你进入云原生的世界,从理解Docker容器的基础开始,逐步深入到Kubernetes集群管理。我们将通过简单的代码示例和实际操作,探索这两个关键技术如何协同工作,以实现更高效、灵活的应用程序部署和管理。无论你是云原生新手还是希望深化理解,这篇文章都将为你提供清晰的指导和实用的知识。
27 11
|
2天前
|
Kubernetes Cloud Native Linux
云原生入门:Kubernetes的简易部署与应用
【8月更文挑战第49天】在云原生的世界里,Kubernetes(K8s)是一颗璀璨的星。本文将带你走进K8s的世界,从安装到简单应用,轻松驾驭这个强大的容器编排工具。让我们一起探索云原生的奥秘,解锁新技能!
|
2天前
|
Kubernetes 负载均衡 监控
深入云原生技术:Kubernetes集群部署与管理
【9月更文挑战第17天】在数字化转型的浪潮中,云原生技术以其灵活性和可扩展性成为企业新宠。本文将引导读者探索云原生的核心组件——Kubernetes,通过实际案例分析其部署与管理流程,旨在帮助技术从业者和企业决策者理解如何利用Kubernetes提升应用的可用性和性能。从基础概念到操作实践,我们将一同见证云原生技术的变革力量。
|
7天前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
17 3
|
8天前
|
Kubernetes 应用服务中间件 nginx
Kubernetes上安装Metallb和Ingress并部署应用程序
Kubernetes上安装Metallb和Ingress并部署nginx应用程序,使用LoadBalancer类型的KubernetesService
38 5
|
1天前
|
Kubernetes Cloud Native Java
探索未来编程新纪元:Quarkus带你秒建高性能Kubernetes原生Java应用,云原生时代的技术狂欢!
Quarkus 是专为 Kubernetes 设计的全栈云原生 Java 框架,凭借其轻量级、快速启动及高效执行特性,在 Java 社区脱颖而出。通过编译时优化与原生镜像支持,Quarkus 提升了应用性能,同时保持了 Java 的熟悉度与灵活性。本文将指导你从创建项目、编写 REST 控制器到构建与部署 Kubernetes 原生镜像的全过程,让你快速上手 Quarkus,体验高效开发与部署的乐趣。
8 0
|
Kubernetes 开发者 微服务
简化Kubernetes应用部署工具-Helm之Hook
微服务和容器化给复杂应用部署与管理带来了极大的挑战。Helm是目前Kubernetes服务编排领域的唯一开源子项目,做为Kubernetes应用的一个包管理工具,可理解为Kubernetes的apt-get / yum,由Deis 公司发起,该公司已经被微软收购。
1616 0
|
Kubernetes 开发者 微服务
简化Kubernetes应用部署工具-Helm之Hook
本文讲的是简化Kubernetes应用部署工具-Helm之Hook【编者的话】微服务和容器化给复杂应用部署与管理带来了极大的挑战。Helm是目前Kubernetes服务编排领域的唯一开源子项目,做为Kubernetes应用的一个包管理工具,可理解为Kubernetes的apt-get / yum,由Deis 公司发起,该公司已经被微软收购。
2542 0
|
16天前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
104 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
17天前
|
Kubernetes 负载均衡 前端开发
二进制部署Kubernetes 1.23.15版本高可用集群实战
使用二进制文件部署Kubernetes 1.23.15版本高可用集群的详细教程,涵盖了从环境准备到网络插件部署的完整流程。
34 2
二进制部署Kubernetes 1.23.15版本高可用集群实战