检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
本节指导用户通过Dockerfile定制一个简单的Web工作负载程序的容器镜像。 背景信息 如果使用官方的Nginx镜像来创建容器工作负载,在浏览器访问时则会看到默认的Nginx欢迎页面,本节以Nginx镜像为例,修改Nginx镜像的欢迎页面,定制一个新的镜像,将欢迎页面改为“Hello, CCI!”。 操作步骤
PI查询。 调用创建Deployment接口创建nginx容器负载。 负载名称为nginx,使用开源镜像中心的nginx:latest镜像,容器的资源规格为0.25核CPU、1G内存。调用接口后,云容器实例会创建一个运行nginx的容器。 { "apiVersion": "apps/v1"
创建Service 下面示例创建一个名为“nginx”的Service,通过selector选择到标签“app:nginx”的Pod,目标Pod的端口为80,Service对外暴露的端口为8080。 访问服务只需要通过“服务名称:对外暴露的端口”接口,对应本例即“nginx:8080”。这样,在其
EIP随Pod创建 创建Pod时,填写pod-with-eip的annotation后,EIP会随Pod自动创建并绑定至该Pod。 以下示例创建一个名为nginx的无状态负载,EIP将随Pod自动创建并绑定至Pod。具体字段含义见表1。 创建独占带宽类型的Deployment,无需指定带宽ID,示例如下:
app: nginx spec: containers: - image: nginx:alpine imagePullPolicy: Always name: nginx imagePullSecrets:
探针,最短就绪时间等可以做到优雅升级,从而实现优雅弹性扩缩容(在升级或者扩缩容过程中业务不会出现5xx的错误响应)。 操作步骤 在此以nginx的无状态工作负载为例,提供了CCI中应用进行优雅滚动升级或者弹性扩缩容最佳实践。 在CCI控制台,单击左侧栏目树中的“工作负载 > 无状态
为Pod指定EIP的ID 创建Pod时,填写yangtse.io/eip-id的annotation后,EIP会随Pod自动完成绑定。 以下示例创建一个名为nginx的实例数为1的无状态负载,EIP将随Pod自动绑定至Pod。具体字段含义见表1。 apiVersion: apps/v1 kind: Deployment
云容器实例支持使用镜像中心和上传到容器镜像服务的镜像。其中 容器镜像服务从镜像中心同步了部分常用镜像,使得您可以在内部网络中直接使用“镜像名称:版本号”,如nginx:alpine,您可以在容器镜像服务控制台中查询同步了哪些镜像。 容器镜像服务中的镜像请使用镜像的“下载指令”,上传镜像后,您可以在容器镜像服务的镜像中获取,如下图所示。
ENV nginx 1/1 Running 0 1m nginx prod 对已存在的Pod,可以直接使用 kubectl label 命令直接添加Label。 $ kubectl label po nginx creation_method=manual
name: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec:
AGE nginx-7f98958cdf-tdmqk 1/1 Running 0 21s nginx-7f98958cdf-tesqr 1/1 Running 0 21s 看到有如下两个名为nginx-7f
"metadata": { "name": "nginx" }, "spec": { "replicas": 2, "selector": { "app": "nginx" }, "template":
Pod定义好后就可以使用kubectl创建,如果上面YAML文件名称为nginx.yaml,则创建命令如下所示,-f 表示使用文件方式创建。 $ kubectl create -f nginx.yaml -n $namespace_name pod/nginx created 容器运行的操作系统内核版本由4
serviceName: nginx servicePort: 80 使用https协议创建Ingress 下面例子中,关联的backend为“nginx:8080”,当访问“https://10.10.10.10:6071/”时,流量转发“nginx:8080”对应的
创建无状态负载,使用selector方式选择含有“app:nginx”的pod,关联上文创建的profile。 kind: Deployment apiVersion: apps/v1 metadata: name: nginx spec: replicas: 10 selector:
llo”。 apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - image: nginx:latest name: container-0 resources:
preStop参数,如下所示。 apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - image: nginx:latest name: container-0 resources:
如下示例。 apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - image: nginx:latest name: container-0 resources:
env字段即可。 apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - image: nginx:1 name: container-0 resources:
containers: - name: container-1 image: 'nginx:latest' containers: - name: container-1 image: 'swr.***.com/org1/nginx:latest' repositoryPrefix为空场景。 "coordinator