本文由火山云代理商【聚搜云】撰写
准备工作
- 创建SLB实例:登录火山云控制台,进入负载均衡服务,创建一个公网SLB实例,选择合适的规格和付费方式。
- 配置SLB监听:在SLB实例中添加TCP/UDP监听,端口设置为Kubernetes API Server的端口(默认为6443),并将master节点的ECS实例添加到后端服务器组。
创建Service资源
-
创建Service YAML文件:使用以下YAML文件创建一个NodePort类型的Service资源,将端口80映射到Pod的8080端口,并启用NodePort类型。
yaml
apiVersion: v1 kind: Service metadata: name: my-service spec: selector: app: my-app ports: - protocol: TCP port: 80 targetPort: 8080 type: NodePort -
应用Service资源:将Service资源应用到Pod。
bash
kubectl apply -f my-service.yaml
创建Pod资源
-
创建Pod YAML文件:创建一个Pod资源,并将其标记为
app: my-app,以便Service可以将其选中。yaml
apiVersion: v1 kind: Pod metadata: name: my-pod spec: containers: - name: my-container image: nginx:latest ports: - containerPort: 8080 -
应用Pod资源:将Pod资源应用到集群。
bash
kubectl apply -f my-pod.yaml
配置Kubernetes API Server
- 修改kube-apiserver配置文件:确保API Server监听内网IP。
- 配置kubelet和kube-proxy:使用SLB的公网IP访问API Server。
验证部署
-
验证集群节点状态:使用
kubectl get nodes命令验证集群节点状态。 -
访问Service:通过以下URL访问Service
-
通过SLB访问API Server:确保能够通过公网SLB IP访问Kubernetes API Server,并且能够正常响应。