检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
如果用户负载需要使用k8s内部域名解析,则需要安装coredns插件。此时pod的dnsPolicy需要设置为ClusterFirst。 在插件市场界面可以单击,将coredns插件安装在指定的namesapce下。 图1 创建插件 如果用户负载不需要k8s内部域名解析服务,但是需要使用域名解析服务,此
Ingress中还可以设置外部域名,这样您就可以通过域名来访问到ELB,进而访问到后端服务。 域名访问依赖于域名解析,需要您将域名解析指向ELB实例的IP地址,例如您可以使用云解析服务 DNS来实现域名解析。 spec: rules: - host: www.example.com
本节指导用户通过Dockerfile定制一个简单的Web工作负载程序的容器镜像。 背景信息 如果使用官方的Nginx镜像来创建容器工作负载,在浏览器访问时则会看到默认的Nginx欢迎页面,本节以Nginx镜像为例,修改Nginx镜像的欢迎页面,定制一个新的镜像,将欢迎页面改为“Hello, CCI!”。 操作步骤
创建Service 下面示例创建一个名为“nginx”的Service,通过selector选择到标签“app:nginx”的Pod,目标Pod的端口为80,Service对外暴露的端口为8080。 访问服务只需要通过“服务名称:对外暴露的端口”接口,对应本例即“nginx:8080”。这样,在其
PI查询。 调用创建Deployment接口创建nginx容器负载。 负载名称为nginx,使用开源镜像中心的nginx:latest镜像,容器的资源规格为0.25核CPU、1G内存。调用接口后,云容器实例会创建一个运行nginx的容器。 { "apiVersion": "apps/v1"
设置的参数将合并到基于dnsPolicy策略生成的域名解析文件中。当dnsPolicy为“None”,应用的域名解析文件完全由dnsConfig指定;当dnsPolicy不为“None”时,会在基于dnsPolicy生成的域名解析文件的基础上,追加dnsConfig中配置的dns参数。
复上线任务,在某种程度上,Deployment可以帮我们实现无人值守的上线,大大降低我们的上线过程的复杂沟通、操作风险。 创建Deployment 以下示例为创建一个名为nginx的Deployment负载,使用nginx:latest镜像创建两个Pod,每个Pod占用500m core
当应用进行滚动升级或者弹性扩缩容,通过配置容器探针,最短就绪时间等可以做到优雅升级,从而实现优雅弹性扩缩容(在升级或者扩缩容过程中业务不会出现5xx的错误响应)。 操作步骤 在此以nginx的无状态工作负载为例,提供了CCI中应用进行优雅滚动升级或者弹性扩缩容最佳实践。 在CCI控制台,单击左侧栏目树中的“工作负载
为CoreDNS配置日志输出选项 CoreDNS使用log插件将域名解析日志打印到标准输出,可通过配置日志输出选项灵活定义输出的日志内容,可在AOM中查看解析日志。在域名解析请求量较大的业务场景下,频繁打印域名解析日志到标准输出可能会对CoreDNS的性能造成明显的影响。 当前l
正确,此时无法访问的原因可能为ELB实例本身有问题,请排查ELB实例状态。 使用kubectl实现公网访问 公网访问需要配合Service和Ingress两个Kubernetes对象实现,具体请参见Service和Ingress。 更新Service 您可以在添加完Service
为解决该问题,云容器实例提供了coredns(内部域名解析)插件,Pod的变化由负载管理,外部无需感知。 访问负载只需要通过“服务名称:负载访问端口”即可,其中负载访问端口映射到容器端口。如下图所示,前台中的Pod如果要访问后台中的Pod时,只需要访问“nginx:8080”即可。 图1 使用Service方式访问
name: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec:
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:
为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
"metadata": { "name": "nginx" }, "spec": { "replicas": 2, "selector": { "app": "nginx" }, "template":
= 实例数 - 最大无效实例数)。 替换升级:先删除旧实例,再创建新实例。升级过程中业务会中断。 客户端DNS配置:负载支持替换域名解析配置和追加域名解析配置,参数设置请参见客户端DNS配置。 配置完成后,单击“下一步:规格确认”,单击“提交”,单击“返回无状态负载列表”。 在负载
Pod定义好后就可以使用kubectl创建,如果上面YAML文件名称为nginx.yaml,则创建命令如下所示,-f 表示使用文件方式创建。 $ kubectl create -f nginx.yaml -n $namespace_name pod/nginx created 容器运行的操作系统内核版本由4