mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-11 12:21:17 +00:00
136 lines
4.2 KiB
Go
136 lines
4.2 KiB
Go
## 16.3 阿里云
|
||
|
||
如图 13-3 所示,阿里云是国内主流云服务平台之一。
|
||
|
||

|
||
|
||
图 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 容器来进行应用生命周期管理。容器服务极大简化了用户对容器管理集群的搭建工作,无缝整合了阿里云虚拟化、存储、网络和安全能力。容器服务提供了多种应用发布方式和流水线般的持续交付能力,原生支持微服务架构,助力用户无缝上云和跨云管理。
|
||
|
||

|
||
|
||
图 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 存储和版本管理
|
||
- 提供图形化镜像仓库管理界面
|
||
- 完整的审计日志和操作追踪功能
|