使用Kubectl部署web服务到K8s集群-1

简介: 使用Kubectl部署web服务到K8s集群-1

2. 部署业务应用

  1. 执行如下命令,创建名为app-ns的命名空间。

说明:通常创建应用需要确定部署在k8s的哪个namespace中,一般不建议部署在default namespace下,索引我们创建名为app-ns的命名空间。

kubectl create ns app-ns
  1. 执行如下命令,创建deploy.yaml文件

说明:现在我们需要将业务应用部署到k8s集群中,这里我们已经准备好了一个应用并打包成镜像,镜像地址如下:

仓库地址:registry.cn-hangzhou.aliyuncs.com/acr-toolkit/ack-cube。

版本: 1.0。

这是一个示例性质的魔方游戏应用。这个应用会监听80端口,接受根路径的访问,返回一个简单的魔方游戏界面。要让这个web应用的镜像在k8s中运行,我们首先要定义一个 deployment资源然后,通过创建deploy.yaml来描述deployment资源。

vim deploy.yaml
  1. i键进入编辑模式,将如下代码复制到文件中,然后按ECS退出编辑模式,输入:wq后按下Enter键保存并退出。

参数说明:

  • image:就是这个web应用的镜像地址。
  • replicas:代表这个应用只部署一份。
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-deployment
  namespace: app-ns
  labels:
    app: myapp
spec:
  replicas: 1
  selector:
    matchLabels:
      name: myapp
  template:
    metadata:
      labels:
        name: myapp
      namespace: app-ns
    spec:
      containers:
        - name: ack-kube
          image: registry.cn-hangzhou.aliyuncs.com/acr-toolkit/ack-cube:1.0
          ports:
            - containerPort: 80
          resources:
            requests:
              cpu: 0.25
              memory: 512Mi
            limits:
              cpu: 1
              memory: 1024Mi
  1. 执行如下命令,运行deploy.yaml文件,部署应用。
kubectl apply -f ~/deploy.yaml
  1. 执行如下命令,查看部署的POD。
kubectl get pod -n app-ns

返回结果如下,当您看到status字段为Running时,代表应用部署完成,处于运行中的状态。如果您看到的是ContainerCreating,代表服务容器正在创建中,需要您耐心等待应用创建完成。

至此,我们已经完成了应用本身的部署,下面我们看下如何在k8s里配置服务。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
4天前
|
JSON 数据格式 Windows
LabVIEW创建Web服务
LabVIEW创建Web服务
|
1天前
|
Kubernetes 应用服务中间件 Docker
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
|
1天前
|
运维 Kubernetes Linux
Kubernetes详解(七)——Service对象部署和应用
Kubernetes详解(七)——Service对象部署和应用
8 3
|
3天前
|
XML 存储 安全
LabVIEWCompactRIO 开发指南23 Web服务
LabVIEWCompactRIO 开发指南23 Web服务
|
4天前
|
JSON 监控 安全
LabVIEW测试和调试Web服务
LabVIEW测试和调试Web服务
11 1
|
4天前
|
Kubernetes 应用服务中间件 nginx
Kubernetes详解(六)——Pod对象部署和应用
在Kubernetes系列中,本文聚焦Pod对象的部署和管理。首先,通过`kubectl run`命令创建Pod,如`kubectl run pod-test --image=nginx:1.12 --port=80 --replicas=1`。接着,使用`kubectl get deployment`或`kubectl get pods`查看Pod信息,添加`-o wide`参数获取详细详情。然后,利用Pod的IP地址进行访问。最后,用`kubectl delete pods [Pod名]`删除Pod,但因Controller控制器,删除后Pod可能自动重建。了解更多细节,请参阅原文链接。
11 5
|
4天前
|
Kubernetes Linux Docker
Kubernetes详解(四)——基于kubeadm的Kubernetes部署
Kubernetes详解(四)——基于kubeadm的Kubernetes部署
15 2
|
8天前
|
开发框架 JavaScript 安全
WIndows Server 2016 部署 Web服务(简单篇)
WIndows Server 2016 部署 Web服务(简单篇)
|
14天前
|
缓存 监控 测试技术
【Go语言专栏】使用Go语言构建高性能Web服务
【4月更文挑战第30天】本文探讨了使用Go语言构建高性能Web服务的策略,包括Go语言在并发处理和内存管理上的优势、基本原则(如保持简单、缓存和并发控制)、标准库与第三方框架的选择、编写高效的HTTP处理器、数据库优化以及性能测试和监控。通过遵循最佳实践,开发者可以充分利用Go语言的特性,构建出高性能的Web服务。
|
15天前
|
Kubernetes 应用服务中间件 nginx
K8S二进制部署详解,一文教会你部署高可用K8S集群(二)
K8S二进制部署详解,一文教会你部署高可用K8S集群(二)