什么是容器服务ack?

阿里云容器服务 Kubernetes 版 ACK(Container Service for Kubernetes)是全球首批通过Kubernetes一致性认证的容器服务平台,提供高性能的容器应用管理服务,支持企业级Kubernetes容器化应用的生命周期管理,让您轻松高效地在云端运行Kubernetes容器化应用。

ACK托管集群架构

如何使用阿里云ACK部署无状态服务(nginx) - 图1

ACK托管集群的管控面由ACK管理,为您提供稳定、高可用、高性能、安全的Kubernetes服务。托管组件包括kube-apiserver、kube-controller-manager、ack-scheduler和etcd。每一个托管集群的管控面包含至少两个kube-apiserver实例和三个etcd实例,并且部署在不同的可用区以提供可用区级别的高可用性。ACK管控会持续监控托管组件,保障服务SLA,并且及时修复安全漏洞。 使用阿里云容器服务Kubernetes版(ACK)的好处包括但不限于以下几点: 1. 强大的集群管理ACK提供多种集群形态,包括专有集群、托管集群和Serverless集群。托管集群的管控节点默认为高可用部署,支持跨可用区集群以及注册外部集群。 2. 极致弹性的资源扩缩ACK支持根据容器资源使用情况快速自动地调整容器数量,能够在短时间内扩展到上千个节点,并支持一键垂直扩缩容。 3. 一站式容器管理ACK提供应用管理、镜像仓库、日志和监控等一站式服务,支持灰度发布、蓝绿发布、应用监控和应用弹性伸缩。 4. 丰富的工作节点ACK支持多种资源类型,包括x86计算资源、异构计算资源、裸金属计算资源、Serverless计算资源和边缘节点。 5. 最优的**IaaS层能力**ACK提供高性能VPC/ENI网络插件和支持容器访问策略,以及支持多种存储解决方案,如云盘、文件存储NAS、对象存储OSS等。 6. 企业级的安全稳定ACK集成了多层安全防护功能,从基础架构安全到软件供应链安全,再到运行时安全,提供全面保护。 7. 全天候技术支持ACK通过工单系统提供7*24小时的专业技术支持。 下面,我们使用阿里云ack部署一个简单的无状态应用nginx 1.首先我们确保已经购买并开通ack集群。如图配置

如何使用阿里云ACK部署无状态服务(nginx) - 图2

2.至少选择4核8g服务器,以便后续资源不足

如何使用阿里云ACK部署无状态服务(nginx) - 图3

3.这一页,安装如图选择,基本是默认。

如何使用阿里云ACK部署无状态服务(nginx) - 图4

创建ack。 创建好之后,我们选择无状态工作负载

如何使用阿里云ACK部署无状态服务(nginx) - 图5

以下是一个简单的Nginx服务的YAML文件示例,可以用于在Kubernetes集群中创建一个Nginx服务: 点击使用yaml创建 输入一下代码点击创建
  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. name: nginx-deployment-basic2
  5. labels:
  6. app: nginx
  7. spec:
  8. replicas: 2
  9. selector:
  10. matchLabels:
  11. app: nginx
  12. template:
  13. metadata:
  14. labels:
  15. app: nginx
  16. spec:
  17. containers:
  18. - name: nginx
  19. image: nginx:latest
  20. ports:
  21. - containerPort: 80
  22. ---
  23. apiVersion: v1
  24. kind: Service
  25. metadata:
  26. name: nginx-service
  27. spec:
  28. selector:
  29. app: nginx
  30. ports:
  31. - protocol: TCP
  32. port: 80
  33. targetPort: 80
  34. type: NodePort
在服务里,可以看到service

如何使用阿里云ACK部署无状态服务(nginx) - 图6

但是,现在我们无法外网访问,我们需要添加一个slb,如图点击服务添加,选择负载均衡

如何使用阿里云ACK部署无状态服务(nginx) - 图7

在浏览器地址栏中输入这个外网ip

如何使用阿里云ACK部署无状态服务(nginx) - 图8

可以看到,成功访问到了nginx

如何使用阿里云ACK部署无状态服务(nginx) - 图9

至此,使用ack快速部署一个无状态应用就完成了。 阿里云ack还有很多非常快速高效便捷的使用方式,尤其是在提升企业数字化转型中有多个具体的应用场景比如: 1. 大规模微服务架构对于拥有复杂微服务架构的大型企业,ACK能够有效管理成百上千个服务,通过自动化的服务发现、负载均衡和滚动更新功能,简化服务运维,保证高可用性和低延迟。 2. 弹性伸缩的互联网应用针对电商、社交、直播等互联网应用,ACK能够根据实时流量自动扩缩容,利用ECS实例和弹性容器实例(ECI)的组合,快速响应业务高峰,同时在闲时释放资源,降低成本。 3. 快速迭代的**DevOps环境**在持续集成和持续部署(CI/CD)流程中,通过与GitOps等现代DevOps实践结合,能大幅缩短软件交付周期,加速应用迭代速度,减少停机时间,提高开发效率。 4. 混合云与多云部署对于需要跨云或混合云部署的企业,ACK支持统一管理多个Kubernetes集群,无论是公有云、私有云还是边缘计算场景,都能实现资源的统一调度和应用的一致性管理。 5. 基于云原生技术的机器学习 ACK支持在异构计算资源集群上轻松开发、部署机器学习应用,跟踪试验和训练、发布模型,自动集成多种数据,帮助数据工程师专注于核心业务,快速实现从0到1的转型。 6. DevOps持续交付配合Jenkins等工具,ACK能够实现从代码提交到应用部署的全流程自动化,确保只有通过自动测试的代码才能交付和部署,从而优化持续交付流程。 7. 弹性伸缩架构 ACK可以根据业务流量自动对业务进行扩容/缩容,避免流量激增时扩容不及时导致系统崩溃,以及平时大量闲置资源造成的浪费。 通过这些应用场景,ACK帮助企业实现了更高效的业务运营和更快速的创新,推动了数字化转型的进程。 以上只是一个抛砖引玉,感兴趣的大家,可以在阿里云中使用ack进行部署使用。