我有一个 'ClusterIp' 类型的 api 服务,它工作正常,可以在带有 clusterip 的节点上访问。我想从外部访问它。这是一个使用 kubeadm 的裸机安装。我不能使用负载均衡器或 Nodeport。
如果我也使用 nginx-ingress,我将使用它作为“ClusterIP”,那么如何在 api 服务或 nginx-ingress case 中获取外部可访问的服务。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
api ClusterIP 10.97.48.17 <none> 80/TCP 41s
ingress-nginx ClusterIP 10.107.76.178 <none> 80/TCP 3h49m
解决问题的更改:
- 节点上的 nginx 配置
在 /etc/nginx/sites-available
upstream backend {
server node1:8001;
server node2:8001;
server node3:8001;
}
server_name _;
location / {
proxy_pass http://backend;
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
- 将我的两个服务作为 DaemonSet 运行