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