【K8s 精选】CKA - ClusterIP、NodePort、LoadBalancer 的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【K8s 精选】CKA - ClusterIP、NodePort、LoadBalancer 的使用相关的知识,希望对你有一定的参考价值。

参考技术A my-service.yaml 配置文件的内容如下,通过 kubectl 命令创建, kubectl apply -f my-service.yaml 。

nodeport-my-service.yaml 配置文件的内容如下,通过 kubectl 命令创建, kubectl apply -f nodeport-my-service.yaml 。

loadbalancer-my-service.yaml 配置文件的内容如下,设置 type 的值为 LoadBalancer ,将为 Service 提供负载均衡器。负载均衡器是异步创建的,关于被提供的负载均衡器的信息将会通过 Service 的 status.loadBalancer 字段发布出去。通过 kubectl 命令创建, kubectl apply -f loadbalancer-my-service.yaml 。

【K8s 精选】CKA - 管理高可用性 Kubernetes 集群

参考技术A

创建 HA 集群的一般步骤:
● 设置负载均衡器。有许多开源选项可用于负载均衡:HAproxy、Envoy 或来自云提供商的类似负载均衡器效果很好。
● 在第一个控制平面节点上运行 kubeadm init ,并进行以下修改:
① 创建 kubeadm 配置文件
② 在配置文件中,将 controlPlaneEndpoint 字段设置为可以访问负载均衡器的位置。
③ 运行 init,带有如下 --upload-certs 标志: sudo kubeadm init --config=kubeadm-config.yaml --upload-certs
● kubeadm join –control-plane 在您想要扩展控制平面节点集时随时运行。控制平面和普通节点可以随时以任何顺序加入。

① 3 台机器作为控制面节点、3 台机器作为工作节点、3 台机器作为外部 etcd 集群(外部 etcd 拓扑方案)
② 在集群中,确保所有计算机之间存在全网络连接(公网或私网)
③ 在所有机器上具有 sudo 权限
④ 从某台设备通过 ssh 访问系统中所有节点的能力
⑤ 所有机器上已经安装 kubeadm 和 kubelet , kubectl 是可选的

每个控制平面节点创建一个本地 etcd 成员(member) 。该 etcd 成员只与该节点的 kube-apiserver 、 kube-controller-manager 、 kube-scheduler 实例通信。

堆叠(stacked) etcd 方案,在控制平面设置负载均衡后,自动管理 etcd 的 external 对象下带有 endpoints 的配置文件。

etcd 分布式数据存储集群在独立于控制平面节点的其他节点上运行 。每个控制平面节点都运行 kube-apiserver , kube-scheduler 和 kube-controller-manager 实例。 每个 etcd 主机与每个控制平面节点的 kube-apiserver 通信

● 利用 kubeadm 创建高可用 etcd 集群

● 配置 SSH 。

● 将以下文件从集群中的任何 etcd 节点复制到第一个控制平面节点:

以上是关于【K8s 精选】CKA - ClusterIP、NodePort、LoadBalancer 的使用的主要内容,如果未能解决你的问题,请参考以下文章

[CKA备考实验][Service] 3.1 创建ClusterIP和NodePort类型的Service

【K8s 精选】CKA - 如何配置和使用 CoreDNS

【K8s 精选】CKA - 使用 Kubeadm 安装基本集群

【K8s 精选】CKA - 管理高可用性 Kubernetes 集群

ClusterIP 工作原理和请求链路 (@K8S原创 轻深度剖析)

ClusterIP 工作原理和请求链路 (@K8S原创 轻深度剖析)