00. 组件版本和配置策略

    主要配置策略

    • 使用节点本地 nginx 4 层透明代理实现高可用;
    • 关闭非安全端口 8080 和匿名访问;
    • 在安全端口 6443 接收 https 请求;
    • 严格的认证和授权策略 (x509、token、RBAC);
    • 开启 bootstrap token 认证,支持 kubelet TLS bootstrapping;
    • 使用 https 访问 kubelet、etcd,加密通信;

    kube-controller-manager:

    • 关闭非安全端口,在安全端口 10252 接收 https 请求;
    • 使用 kubeconfig 访问 apiserver 的安全端口;
    • 自动 approve kubelet 证书签名请求 (CSR),证书过期后自动轮转;
    • 各 controller 使用自己的 ServiceAccount 访问 apiserver;
    • 3 节点高可用;
    • 使用 kubeconfig 访问 apiserver 的安全端口;

    kubelet:

    • 使用 kubeadm 动态创建 bootstrap token,而不是在 apiserver 中静态配置;
    • 使用 TLS bootstrap 机制自动生成 client 和 server 证书,过期后自动轮转;
    • 关闭只读端口,在安全端口 10250 接收 https 请求,对请求进行认证和授权,拒绝匿名访问和非授权访问;
    • 使用 kubeconfig 访问 apiserver 的安全端口;
    • 使用 kubeconfig 访问 apiserver 的安全端口;
    • 在 KubeProxyConfiguration 类型的 JSON 文件配置主要参数;
    • 使用 ipvs 代理模式;

    集群插件:

    • DNS:使用功能、性能更好的 coredns;
    • Dashboard:支持登录认证;
    • Metric:metrics-server,使用 https 访问 kubelet 安全端口;
    • Registry 镜像库:docker-registry、harbor;