云原生入门: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无疑是打开这个世界大门的钥匙。通过今天的学习,希望你已经迈出了探索云原生世界的第一步。继续前进吧,未来还有更多知识等着你去发现!

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
18天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
61 2
|
14天前
|
Kubernetes Cloud Native 开发者
云原生入门:Kubernetes的简易指南
【10月更文挑战第41天】本文将带你进入云原生的世界,特别是Kubernetes——一个强大的容器编排平台。我们将一起探索它的基本概念和操作,让你能够轻松管理和部署应用。无论你是新手还是有经验的开发者,这篇文章都能让你对Kubernetes有更深入的理解。
|
18天前
|
Kubernetes 监控 负载均衡
深入云原生:Kubernetes 集群部署与管理实践
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其弹性、可扩展性成为企业IT架构的首选。本文将引导你了解如何部署和管理一个Kubernetes集群,包括环境准备、安装步骤和日常维护技巧。我们将通过实际代码示例,探索云原生世界的秘密,并分享如何高效运用这一技术以适应快速变化的业务需求。
55 1
|
23天前
|
运维 Kubernetes Cloud Native
Kubernetes云原生架构深度解析与实践指南####
本文深入探讨了Kubernetes作为领先的云原生应用编排平台,其设计理念、核心组件及高级特性。通过剖析Kubernetes的工作原理,结合具体案例分析,为读者呈现如何在实际项目中高效部署、管理和扩展容器化应用的策略与技巧。文章还涵盖了服务发现、负载均衡、配置管理、自动化伸缩等关键议题,旨在帮助开发者和运维人员掌握利用Kubernetes构建健壮、可伸缩的云原生生态系统的能力。 ####
|
13天前
|
存储 Kubernetes Devops
Kubernetes集群管理和服务部署实战
Kubernetes集群管理和服务部署实战
32 0
|
14天前
|
Kubernetes 监控 Cloud Native
Kubernetes集群的高可用性与伸缩性实践
Kubernetes集群的高可用性与伸缩性实践
48 1
|
2月前
|
JSON Kubernetes 容灾
ACK One应用分发上线:高效管理多集群应用
ACK One应用分发上线,主要介绍了新能力的使用场景
|
2月前
|
Kubernetes 持续交付 开发工具
ACK One GitOps:ApplicationSet UI简化多集群GitOps应用管理
ACK One GitOps新发布了多集群应用控制台,支持管理Argo CD ApplicationSet,提升大规模应用和集群的多集群GitOps应用分发管理体验。
|
2月前
|
Kubernetes Ubuntu Linux
Centos7 搭建 kubernetes集群
本文介绍了如何搭建一个三节点的Kubernetes集群,包括一个主节点和两个工作节点。各节点运行CentOS 7系统,最低配置为2核CPU、2GB内存和15GB硬盘。详细步骤包括环境配置、安装Docker、关闭防火墙和SELinux、禁用交换分区、安装kubeadm、kubelet、kubectl,以及初始化Kubernetes集群和安装网络插件Calico或Flannel。
175 4
|
2月前
|
Kubernetes Cloud Native 云计算
云原生之旅:Kubernetes 集群的搭建与实践
【8月更文挑战第67天】在云原生技术日益成为IT行业焦点的今天,掌握Kubernetes已成为每个软件工程师必备的技能。本文将通过浅显易懂的语言和实际代码示例,引导你从零开始搭建一个Kubernetes集群,并探索其核心概念。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你打开一扇通往云原生世界的大门。
129 17