如何解决带有法兰绒的 Kubernetes 集群 - 端口转发
在机器上设置:
- Ubuntu 20.04
- Kubernetes 集群使用 kubeadm 和 flannel 网络插件启动
在我的工作机器上,我在集群上安装了 Jenkins,并希望将网络配置为能够从端口 8081 访问 jenkins。默认情况下,它只能转发端口(在我的情况下为 30667)。在 ubuntu 上可以吗?
NAME READY STATUS RESTARTS AGE
pod/jenkins-5b6cb84957-n497l 1/1 Running 4 93m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/jenkins LoadBalancer 10.96.81.85 <pending> 8081:30667/TCP 93m
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 94m
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/jenkins 1/1 1 1 93m
NAME DESIRED CURRENT READY AGE
replicaset.apps/jenkins-5b6cb84957 1 1 1 93m
NAME COMPLETIONS DURATION AGE
job.batch/pv-recycler-generator 1/1 5s 42s
也尝试过使用 calico 网络插件 - 结果相同
但在我在 Mac 和 Windows 上使用 Docker 桌面之前,它可以开箱即用
解决方法
Loadbalancer
的服务类型在您在云上运行时效果最佳,因为云供应商会自动为您创建外部负载均衡器并将其配置为与 Kubernetes 配合使用。如果在 prem 上工作,则整个过程必须由您完成。你自己做或使用 3rd 方工具来做,例如Metallb。
注意 External-ip
列中的待处理字段。最简单的方法是手动将其设置为节点的 IP 地址。
首先你有你的节点ip:
➜ ~ k get node -owide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
instance-1 Ready master 221d v1.17.0 ? 10.128.15.230 <none> Ubuntu 16.04.6 LTS 4.15.0-1090-gcp docker://18.6.1
然后在服务规范的 externalIPs
字段中添加此 IP 地址:
➜ ~ cat loadbalancer.yml
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
externalIPs:
- 10.128.15.230 ?
selector:
app: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 80
type: LoadBalancer
您可以看到外部 IP 不再挂起:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
my-service LoadBalancer 10.101.150.192 ? 10.128.15.230 80:11438/TCP 5m1s
然后您只需将该外部 IP 与 nodePort
在该节点上打开的 kube-proxy
一起使用:
➜ ~ curl 10.128.15.230:11438
{
"path": "/","headers": {
"host": "10.128.15.230:11438","user-agent": "curl/7.47.0","accept": "*/*"
},"method": "GET","body": "","fresh": false,"hostname": "10.128.15.230","ip": "::ffff:10.128.15.230","ips": [],"protocol": "http","query": {},"subdomains": [],"xhr": false,"os": {
"hostname": "label-demo"
},"connection": {}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。