​kubernetes部署筹备

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: ​kubernetes部署筹备

YAML文件概述


K8s集群文件中对资源管理和资源对象编排部署都可以通过声明样式yaml,文件来解决,也就是说可以把需要对资源对象操作编辑到yaml,文件中。


我们称之为资源清单资源清单文件通过kubectl命令直接使用资源清单文件就可以实现对大量资源对象进行编排部署


基本语法


  • 大小写敏感


  • 使用缩进表示层级关系,缩进不允许使用tab,只允许空格


  • 缩进的空格数不重要,只要相同层级的元素左对齐即可


  • ‘#’表示注释


  • ---表示新的yaml文件的开始


数据类型


YAML 支持以下几种数据类型:


  • 对象:


键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)


  • 数组:


一组按次序排列的值,又称为序列(sequence) / 列表(list)


  • 纯量(scalars):


单个的、不可再分的值


常量


常量是最基本的,不可再分的值,包括:


  • 字符串


  • 布尔值


  • 整数


  • 浮点数


  • Null


  • 时间


  • 日期


引用


& 锚点和 * 别名,可以用来引用:


& 用来建立锚点(defaults),<< 表示合并到当前数据,* 用来引用锚点。


defaults: &defaults
  adapter:  postgres
  host:     localhost
development:
  database: myapp_development
  <<: *defaults
test:
  database: myapp_test
  <<: *defaults
---相当于
defaults:
  adapter:  postgres
  host:     localhost
development:
  database: myapp_development
  adapter:  postgres
  host:     localhost
test:
  database: myapp_test
  adapter:  postgres
  host:     localhost


kubernetes中yaml组成部分


apiVersion: v1                                # API版本 可使用命令kubeclt api--verison查看
kind: ReplicationController        # 资源类型 - 副本控制器RC
metadata:                                            # 资源元数据
  name: mysql                                    #     - RC的名称(全局唯一),符合目标的Pod拥有此标签
spec:                                                    # 资源的规格(RC的相关属性的定义)
  replicas: 1                                    # 副本的期望数量
  selector:                                        # 标签选择器
    app: mysql                
 # *********************************************
  template:                                        # Pod 模版
    metadata:                        
      name: mysql
      labels:                                    # 标签        Pod 副本拥有的标签,对应RC的Selector
        app: mysql
    spec:                                            # Pod规格
      containers:                            # 容器的配置
        - name: mysql                    # 容器名称
          image: mysql                # 容器镜像(对应的Docker images)
          ports:
            - containerPort: 3306        # 容器引用监听的端口号
          env:                                            # 环境配置
            - name: MYSQL_ROOT_PASSWORD    
              value: "123456"
  ---
apiVersion: v1
kind: Service                                 #  资源类型 服务
metadata:
  name: mysql            
spec:
  selector:
    app: mysql
  ports:
  - port: 3306


  • 控制器部分


640 (1).jpg


  • 被控制的对象


640 (2).jpg


  • RC


640 (3).jpg


快速编写yaml文件


Part 1:使用命令生成yaml文件


# kubectl create kubectl create deployment web --image=nginx -o yaml --dry-run# -o 使用yaml格式展示# -dry-run 尝试运行,并不会真正运行# 保存至myweb.yamlkubectl create deployment web --image=nginx -o yaml --dry-run > myweb.yaml


  • kubectl create deployment web —image=nginx -o yaml —dry-run运行效果如下⬇️:


640 (4).jpg


Part 2: 使用命令导出yaml文件


kubectl get
kubectl get deploy # 查看部署kubectl get deploy nginx -o yaml --export > myweb.yaml
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
3天前
|
存储 Kubernetes 对象存储
部署DeepSeek但GPU不足,ACK One注册集群助力解决IDC GPU资源不足
借助阿里云ACK One注册集群,充分利用阿里云强大ACS GPU算力,实现DeepSeek推理模型高效部署。
|
8天前
|
存储 Kubernetes 测试技术
企业级LLM推理部署新范式:基于ACK的DeepSeek蒸馏模型生产环境落地指南
本教程演示如何在ACK中使用vLLM框架快速部署DeepSeek R1模型推理服务。
|
9天前
|
存储 人工智能 弹性计算
NVIDIA NIM on ACK:优化生成式AI模型的部署与管理
本文结合NVIDIA NIM和阿里云容器服务,提出了基于ACK的完整服务化管理方案,用于优化生成式AI模型的部署和管理。
|
3天前
|
人工智能 Kubernetes 异构计算
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
本教程演示如何在ACK中多机分布式部署DeepSeek R1满血版。
|
4月前
|
Kubernetes 持续交付 Docker
利用 Docker 和 Kubernetes 实现微服务部署
【10月更文挑战第2天】利用 Docker 和 Kubernetes 实现微服务部署
|
2月前
|
存储 Kubernetes 容器
K8S部署nexus
该配置文件定义了Nexus 3的Kubernetes部署,包括PersistentVolumeClaim、Deployment和服务。PVC请求20Gi存储,使用NFS存储类。Deployment配置了一个Nexus 3容器,内存限制为6G,CPU为1000m,并挂载数据卷。Service类型为NodePort,通过30520端口对外提供服务。所有资源位于`nexus`命名空间中。
|
4月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
303 62
|
4月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
179 60
|
3月前
|
Kubernetes Cloud Native 微服务
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。
|
3月前
|
存储 Kubernetes Devops
Kubernetes集群管理和服务部署实战
Kubernetes集群管理和服务部署实战
102 0