Files
docker_practice/16_cloud/16.3_alicloud.md
2026-03-09 20:04:20 -07:00

136 lines
4.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 16.3 阿里云
如图 13-3 所示阿里云是国内主流云服务平台之一
![阿里云](./_images/aliyun-logo.png)
13-3 阿里云标识
[阿里云](https://www.aliyun.com/?source=5176.11533457\&userCode=8lx5zmtu\&type=copy)创立于 2009 年,是中国较早的云计算平台。阿里云致力于提供安全、可靠的计算和数据处理能力。
[阿里云](https://www.aliyun.com/?source=5176.11533457\&userCode=8lx5zmtu\&type=copy)的客户群体中,活跃着微博、虎牙、魅族、优酷等一大批明星互联网公司。在天猫双 11 全球狂欢节等极富挑战的应用场景中,阿里云保持着良好的运行纪录。
[阿里云容器服务 Kubernetes ACK](https://www.aliyun.com/product/kubernetes?source=5176.11533457\&userCode=8lx5zmtu\&type=copy) 提供了高性能、可伸缩的容器应用管理服务,支持在一组云服务器上通过 Docker 容器来进行应用生命周期管理。容器服务极大简化了用户对容器管理集群的搭建工作,无缝整合了阿里云虚拟化、存储、网络和安全能力。容器服务提供了多种应用发布方式和流水线般的持续交付能力,原生支持微服务架构,助力用户无缝上云和跨云管理。
![阿里云容器服务界面](https://img.alicdn.com/tps/TB10yjtPpXXXXacXXXXXXXXXXXX-1531-1140.png)
13-4 阿里云容器服务示意图
### 阿里云容器服务 ACK 简介
阿里云容器服务 Kubernetes (ACK, Container Service for Kubernetes) 是一款托管式 Kubernetes 服务基于开源 Kubernetes 构建提供企业级的容器编排和管理能力ACK 集成了阿里云存储网络和安全能力支持多种应用部署模式和持续交付流程
### 基本使用步骤
#### 1. 创建集群
登录阿里云控制台进入容器服务 > Kubernetes 集群
- 点击 "创建集群"选择集群配置
- 配置集群名称地域可用区和节点类型
- 选择节点规格和数量支持弹性伸缩
- 配置网络参数和安全设置
- 完成创建下载 kubeconfig 文件
```bash
# 配置本地 kubectl
export KUBECONFIG=/path/to/kubeconfig.yaml
kubectl get nodes
```
#### 2. 部署容器应用
通过 Deployment 部署应用示例
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-server
spec:
replicas: 2
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
containers:
- name: web
image: registry.cn-hangzhou.aliyuncs.com/myapp/web:v1
ports:
- containerPort: 8080
resources:
limits:
memory: "512Mi"
cpu: "500m"
```
部署应用
```bash
kubectl apply -f deployment.yaml
kubectl get pods -o wide
kubectl logs <pod-name>
```
#### 3. 暴露服务
创建 Service 暴露应用
```yaml
apiVersion: v1
kind: Service
metadata:
name: web-service
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: 8080
selector:
app: web
```
应用
```bash
kubectl apply -f service.yaml
kubectl get svc web-service
```
### 阿里云容器镜像服务 (ACR)
阿里云容器镜像服务 (ACR, Container Registry) 是企业级的容器镜像存储和分发平台
- **私有镜像仓库**支持多个命名空间细粒度权限控制
- **镜像构建**云端编译和构建支持自动化 CI/CD
- **镜像扫描**自动检测镜像中的漏洞和恶意代码
- **跨地域复制**支持镜像在多个地域的同步和加速
- **集成 ACK** ACK 无缝集成自动身份认证
- **镜像版本管理**标签管理镜像过期清理保留策略
#### 使用示例
```bash
# 登录阿里云镜像服务
docker login registry.cn-hangzhou.aliyuncs.com -u <username>
# 标记镜像
docker tag my-app:latest registry.cn-hangzhou.aliyuncs.com/myapp/my-app:v1.0
# 推送镜像
docker push registry.cn-hangzhou.aliyuncs.com/myapp/my-app:v1.0
# 在 ACK 集群使用镜像
kubectl set image deployment/web-server web=registry.cn-hangzhou.aliyuncs.com/myapp/web:v2.0
```
#### ACR 优势
- ACK 集群中无需额外配置认证自动使用 ACR 镜像
- 支持 Helm Chart 存储和版本管理
- 提供图形化镜像仓库管理界面
- 完整的审计日志和操作追踪功能