概念

Kubernetes v1.15 版本的文档已不再维护。您现在看到的版本来自于一份静态的快照。如需查阅最新文档,请点击 最新版本。

概念
Taint 和 Toleration
日志架构
Kubernetes 中的代理
Kubernetes集群中使用Sysctls
Managing Compute Resources for Containers
Secret
云供应商
安装扩展(Addons)
概念模板示例
联邦
设备插件
证书
集群管理概述

Edit This Page

云供应商

本文介绍了如何管理运行在特定云供应商上的 Kubernetes 集群。

AWS

本节介绍在 Amazon Web Services 上运行 Kubernetes 时可以使用的所有配置。

负载均衡器

用户可以通过配置注解(annotations)来设置 外部负载均衡器,以在 AWS 中使用特定功能,如下所示:

apiVersion: v1
kind: Service
metadata:
  name: example
  namespace: kube-system
  labels:
    run: example
  annotations:
     service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:xx-xxxx-x:xxxxxxxxx:xxxxxxx/xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx #replace this value
     service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
spec:
  type: LoadBalancer
  ports:
  - port: 443
    targetPort: 5556
    protocol: TCP
  selector:
    app: example

可以使用 注解 将不同的设置应用于 AWS 中的负载平衡器服务。 下面描述了 AWS ELB 所支持的注解:

AWS 相关的注解信息取自 aws.go 文件的注释。

OpenStack

本节介绍了使用 OpenStack 运行 Kubernetes 时所有可用的配置。

cloud.conf

Kubernetes 知道如何通过文件 cloud.conf 与 OpenStack 进行交互。 该文件会为 Kubernetes 提供证书和 OpenStack 认证端点的区位信息。 用户可以通过在其中指定以下信息来创建 cloud.conf 文件。

最小配置

这是一个最小配置的例子,它涉及最常用的值:

[Global]
username=user  
password=pass  
auth-url=https://<keystone_ip>/identity/v3  
tenant-id=c869168a828847f39f7f06edd7305637  
domain-id=2a73b8f597c04551a0fdc8e95544be8a

[LoadBalancer]
subnet-id=6937f8fa-858d-4bc9-a3a5-18d2c957166a  

全局配置

负载均衡器

可选配置

块存储

Kubernetes 利用 OpenStack 服务目录对它知道如何使用的服务进行定位,包括 Cinder 块存储服务。 然而,云供应商的配置中包含一个附加选项,可以影响块存储 API 的使用方式:

如果在 OpenStack 上部署 Kubernetes <= 1.8 的版本,同时使用路径而不是端口来区分端点(endpoints),那么可能需要显式设置 bs-version 参数。 基于路径的端点形如 http://foo.bar/volume ,而基于端口的的端点形如 http://foo.bar:xxx

在使用基于路径的端点,并且 Kubernetes 使用较旧的自动检索逻辑的环境中,尝试卷卸载(detachment)会返回 BS API version autodetection failed. 错误。 为了解决这个问题,可以通过添加以下内容到云供应商配置中,来强制使用 Cinder API V2 版本。

[BlockStorage]
bs-version=v2

反馈