阿里云K8S容器服务的使用

本文详细介绍了如何在阿里云上使用Kubernetes(K8s)服务进行镜像上传、服务配置、路由设定及节点管理。首先,通过容器镜像服务上传并构建镜像,然后在K8s集群中创建服务,配置服务路由和数据卷。接着,利用配置管理导入服务配置,并设置节点亲和性与污点管理,确保服务按需部署。最后,讲解了如何配置服务路由以实现外网访问,并提供了HTTPS安全访问的配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 上传镜像

  1. 在阿里云控制台找到“容器镜像服务”,开启镜像服务,这里选择个人实例即可(个人版限额,企业版付费

image-20211019144314597

  • 选择好之后点击个人版,进入

image-20211019144405245

  1. 选择“镜像仓库”,创建镜像仓库,然后输入参数创建一个仓库,如下:

image-20211019144611406

  1. 点击下一步,开始选择代码源:

image-20211019144805830

  • 这里我配置的是gitlab私服地址,之后你的镜像就会从对应的gitlab项目拉取。
  1. 点击刚才创建的仓库,进入仓库选择左侧的构建,开始构建你的第一个项目镜像

image-20211019145034677

到现在,镜像已经创建完毕!

二. k8s运行

  1. 在阿里云控制台选择“[容器服务 Kubernetes 版]”,点击集群,创建一个集群,然后在集群下创建节点池(加节点就是加机器

image-20211019145600641

  • 节点池会直接格式化为k8s节点,由k8s自己管理,无需人工介入。可以将已有的ecs直接添加给节点池,会格式化整个ecs,自动归属为一个node。
  1. 下一步:在工作负责下选择“无状态”,点击右上角“使用镜像创建”,开始创建服务。

image-20211019145933434

image-20211019150041354

三. 服务配置导入

  1. 在k8s集群内有一个“配置管理”的选项,添加你的配置文件到这里
    在这里插入图片描述

  2. 这里创建好配置文件后,在创建无状态服务的第二步“容器配置”下方的“数据卷”一栏进行选择

image-20211019150619882

如果是java项目,需要在生命周期这里添加一个指定配置文件的路径,这个也可以放在Dockerfile中:

ENTRYPOINT ["java","-Dspring.config.location=/opt/application.yml","-jar","/opt/xxx.jar"]

或:

在生命周期这里添加参数:

["–spring.config.location=/opt/website/website-backend.yaml"]

image-20211019151007560

四. 服务路由

  1. 在服务创建得第三步,高级配置这里选择“路由创建”,

image-20211019151128616

image-20211019151316993

k8s服务会默认生成一个slb(负载均衡),这里配置好服务域名后,在负载均衡控制台找到对应的外网ip,将它配置到DNS解析即可。
这里还可以配置TLS(https安全访问),只需要将你的域名安全证书下载后上传到K8s的保密字典即可。

五. 节点亲和性和污点管理

你的服务可以固定在一些节点上运行,这就需要用到K8S的节点标签管理。

image-20211019151928782

  1. 选择右上角的“标签于污点管理”

image-20211019152011718

在这里你可以为节点添加标签,或者污点。

标签的作用就是在选择部署的时候直接选择亲和某些标签的节点进行部署,而污点则是给这台节点添加污点后,服务默认不会部署到该节点,可以通过配置服务的污点容忍性进行反向利用。标签与污点管理适用于不同的场景,我们这里先选择标签进行操作:

  1. 给节点添加好标签后,在部署服务时,在“高级配置”处选择节点亲和性进行添加即可。

image-20211019152409009

### 阿里云 Kubernetes 服务使用指南 阿里云提供的 Kubernetes 服务旨在帮助企业简化容器化应用程序的部署、管理和扩展过程。以下是关于如何有效利用阿里云 Kubernetes 服务的一些关键点: #### Serverless Kubernetes 的优势 Serverless Kubernetes 是一种无需管理底层基础设施即可运行容器化的解决方案。用户可以通过这种方式专注于应用开发而非集群维护。这种模式特别适合那些希望减少运维负担的企业[^1]。 #### Service Broker 功能介绍 Service Broker 提供了一种标准化的方式来集成第三方服务到 Kubernetes 应用程序中。通过 Open Service Broker API 标准,阿里云支持多种数据库和服务(如 MySQL、MariaDB 和 RabbitMQ),并允许开发者轻松地将这些服务绑定至其应用。此外,还提供了 RDS broker 来帮助管理关系型数据库实例。此功能显著减少了配置时间和复杂度[^2]。 #### 实践资源获取途径 为了更好地理解和实践上述概念,《阿里云 Kubernetes 项目实战手册》是一份宝贵的参考资料。这份文档详细描述了实际案例以及具体的操作流程,可以帮助新手快速上手。可以从官方链接下载该手册以获得更深入的学习体验[^3]。 #### 如何上传自定义 Docker 镜像? 对于已经构建好的 Docker 镜像,如果想要将其存储于云端,则可借助阿里云镜像仓库来实现这一需求。这一步骤通常涉及登录到阿里云注册表并将本地镜像推送到远程位置。有关详细的推送方法可以在相关文章中找到指导说明[^4]。 #### 创建 Secret 绑定示例 当需要连接外部服务时,比如 Amazon Web Services (AWS) 或其他提供商托管的关系型数据库管理系统(RDBMS),则可能需要用到 `kubectl` 命令行工具去设置 secrets 。下面是一个简单的例子展示怎样生成一个 secret 并关联给 pod 使用: ```yaml apiVersion: servicecatalog.k8s.io/v1beta1 kind: ServiceBinding metadata: name: rds-binding spec: instanceRef: name: my-rds-instance parameters: Username: admin_user Password: secure_password ``` 执行以下命令后会自动建立相应的 secret 对象用于后续认证授权用途: ```bash $ kubectl create -f rds-binding.yaml ``` 注意这里的参数部分可以根据实际情况调整用户名密码等内容[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

了迹奇有没

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值