Files
kuboard-press/docs/guide/diagonize/port-forward.html
huanqing.shao 0294986e92 优化Overview
2019-07-26 18:55:05 +08:00

26 lines
13 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>端口转发 | Kuboard</title>
<meta name="description" content="A cool Kubernetes Dashboard">
<meta name="keywords" content="Kubernetes, Docker, Dashboard, Kuboard, Linux, K8S, cluster, 分布式, 集群, 容器, 高可用">
<meta property="article:modified_time" content="Thu Jul 25 2019 22:26:28 GMT+0800 (GMT+08:00)"><meta property="og:site_name" content="Kuboard"><meta property="og:title" content="端口转发"><meta property="og:type" content="website"><meta property="og:url" content="/guide/diagonize/port-forward.html"><meta name="twitter:title" content="端口转发"><meta name="twitter:url" content="/guide/diagonize/port-forward.html"><meta name="twitter:card" content="summary_large_image">
<link rel="preload" href="/assets/css/0.styles.c0301a2f.css" as="style"><link rel="preload" href="/assets/js/app.469e521d.js" as="script"><link rel="preload" href="/assets/js/11.85cc1d1b.js" as="script"><link rel="preload" href="/assets/js/2.4586c502.js" as="script"><link rel="preload" href="/assets/js/32.4cf659a7.js" as="script"><link rel="prefetch" href="/assets/js/10.f84e0625.js"><link rel="prefetch" href="/assets/js/12.d79ea216.js"><link rel="prefetch" href="/assets/js/13.d57917df.js"><link rel="prefetch" href="/assets/js/14.5bb6b838.js"><link rel="prefetch" href="/assets/js/15.c6f5df06.js"><link rel="prefetch" href="/assets/js/16.72005098.js"><link rel="prefetch" href="/assets/js/17.452295d5.js"><link rel="prefetch" href="/assets/js/18.c87c981a.js"><link rel="prefetch" href="/assets/js/19.dfd1a854.js"><link rel="prefetch" href="/assets/js/20.7658673b.js"><link rel="prefetch" href="/assets/js/21.d108e58c.js"><link rel="prefetch" href="/assets/js/22.17b851e0.js"><link rel="prefetch" href="/assets/js/23.55c72026.js"><link rel="prefetch" href="/assets/js/24.66a868af.js"><link rel="prefetch" href="/assets/js/25.890672df.js"><link rel="prefetch" href="/assets/js/26.959330a4.js"><link rel="prefetch" href="/assets/js/27.99a6e3a4.js"><link rel="prefetch" href="/assets/js/28.e716a025.js"><link rel="prefetch" href="/assets/js/29.4ff59e34.js"><link rel="prefetch" href="/assets/js/3.01058ecd.js"><link rel="prefetch" href="/assets/js/30.e89c0eee.js"><link rel="prefetch" href="/assets/js/31.fc5a4b53.js"><link rel="prefetch" href="/assets/js/33.d10f420c.js"><link rel="prefetch" href="/assets/js/34.da1581ad.js"><link rel="prefetch" href="/assets/js/35.6d4bbc2f.js"><link rel="prefetch" href="/assets/js/36.40fcd0aa.js"><link rel="prefetch" href="/assets/js/37.a2236040.js"><link rel="prefetch" href="/assets/js/38.7fd741bc.js"><link rel="prefetch" href="/assets/js/4.5c8766b1.js"><link rel="prefetch" href="/assets/js/5.8a6d0bb9.js"><link rel="prefetch" href="/assets/js/6.8f8c4682.js"><link rel="prefetch" href="/assets/js/7.7adbafe6.js"><link rel="prefetch" href="/assets/js/8.05349e1e.js"><link rel="prefetch" href="/assets/js/9.b9de5eb9.js">
<link rel="stylesheet" href="/assets/css/0.styles.c0301a2f.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container" data-v-79c95b4d><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">Kuboard</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/overview/" class="nav-link">简介</a></div><div class="nav-item"><a href="/install/" class="nav-link">安装</a></div><div class="nav-item"><a href="/guide/" class="nav-link router-link-active">使用</a></div><div class="nav-item"><a href="/support/" class="nav-link">支持</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><div data-v-79c95b4d><div style="text-align:center;margin-top:20px;" data-v-79c95b4d><div class="side-nav-item" style="margin-left:0;" data-v-79c95b4d><a href="/overview/" class="nav-link" data-v-79c95b4d>简介</a></div> <div class="side-nav-item" data-v-79c95b4d><a href="/install/" class="nav-link router-link-exact-active router-link-active" data-v-79c95b4d>安装</a></div> <div class="side-nav-item" style="border-bottom:2px solid #0b85ff;" data-v-79c95b4d><a href="/guide/" class="nav-link" data-v-79c95b4d>使用</a></div> <div class="side-nav-item" data-v-79c95b4d><a href="/support/" class="nav-link" data-v-79c95b4d>支持</a></div></div></div> <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>概述</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/" class="sidebar-link">概述</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>Example</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/example/busybox.html" class="sidebar-link">部署 busybox</a></li><li><a href="/guide/example/import.html" class="sidebar-link">导入 example 微服务</a></li><li><a href="/guide/example/monitor.html" class="sidebar-link">监控 example (alpha)</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>集群管理</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/cluster/computing.html" class="sidebar-link">计算资源管理</a></li><li><a href="/guide/cluster/storage.html" class="sidebar-link">存储空间管理</a></li><li><a href="/guide/cluster/namespace.html" class="sidebar-link">名称空间管理</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>应用管理</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/namespace/workload.html" class="sidebar-link">工作负载</a></li><li><a href="/guide/namespace/secrets.html" class="sidebar-link">Secrets</a></li><li><a href="/guide/namespace/configMap.html" class="sidebar-link">配置</a></li><li><a href="/guide/namespace/pvc.html" class="sidebar-link">存储卷声明</a></li><li><a href="/guide/namespace/adjustion.html" class="sidebar-link">日常调整</a></li><li><a href="/guide/namespace/multi-env.html" class="sidebar-link">多环境</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>问题诊断</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/diagonize/events.html" class="sidebar-link">集群事件</a></li><li><a href="/guide/diagonize/logs.html" class="sidebar-link">日志及终端</a></li><li><a href="/guide/diagonize/port-forward.html" class="active sidebar-link">端口转发</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/guide/diagonize/port-forward.html#feature-planned" class="sidebar-link">Feature planned</a></li></ul></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>监控套件 alpha</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/monitor/" class="sidebar-link">监控套件</a></li><li><a href="/guide/monitor/apis.html" class="sidebar-link">自定义监控套件</a></li></ul></section></li></ul> <div style="text-align: center; margin-top: 5vh;"><strong>在线体验</strong> <div><a target="_blank" href="http://demo.eip.work/#/login?isReadOnly=true&token=eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJvYXJkLXZpZXdlci10b2tlbi02djZiZiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJvYXJkLXZpZXdlciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjhiYTU3YmI1LWFiMTctNDM1NS1hNTM0LTQ0Njk4NGY0NzFlZiIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlLXN5c3RlbTprdWJvYXJkLXZpZXdlciJ9.DcXNIp0RKha1zkV4ga_QlGfcvMLGx2LOyzX-0VeboC3FojKFhxnfBeoda-zTeh6ugJlSM4kQYrRcof1Kx8Mg3-UgofNmgRySbDEVKtJZyMUoHqLmySKUIn8sbX8q83RNcqwcvY-fM8-w8HSuzU7Td7WWNuZrlCL4q_LQDYIBet1nlQ83YsENKNE8rsZQFDw8YM0MH6BEZLdwyhaboy_jjYbsU7kv8gks3aIX4lh1Fs9ZFQpC_6B0_MZvb7rEeG2M8QWXoUkDoL5JCKu6Wot5GlWf0kDMxIsViggP0NmSDTKh6kIvCkT2FZ2I4guEcjE_EjBpdOS6Abta22tzLlPKhg"><p><img src="/assets/img/image-20190723104717575.f44900d3.png" style="width: 226px; height: 127px;"></p></a></div> <strong>在线提问</strong> <p><img src="/assets/img/kuboard_qq.45e78dbf.png"></p></div></aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="端口转发"><a href="#端口转发" aria-hidden="true" class="header-anchor">#</a> 端口转发</h1> <p>微服务环境中,各个服务都通过 TCP / UDP 端口的形式提供访问。按调用者所在位置、通信协议的形式来划分,大致有如下几种情况:</p> <table><thead><tr><th>调用者所在位置</th> <th>通信协议</th> <th>临时性</th> <th>常见场景</th> <th>推荐配置方式</th></tr></thead> <tbody><tr><td>VPC外</td> <td>http / https</td> <td>日常性</td> <td>用户从互联网(亦可能是公司内网)<br>访问 web 页面,或者 restful 接口</td> <td>Kubernetes Ingress<br>可在Kuboard中直接配置 <em><strong>互联网入口</strong></em> </td></tr> <tr><td>VPC外</td> <td>tcp / udp</td> <td>临时性</td> <td>例如开发者临时需要访问数据库端口、Redis端口等</td> <td>在客户端所在机器配置 kubectl<br><span style="color:#F56C6C;">通过 kubectl port-forwad 进行端口转发</span></td></tr> <tr><td>VPC外</td> <td>tcp / udp</td> <td>日常性</td> <td>暂不讨论</td> <td></td></tr> <tr><td>VPC内/集群外</td> <td>http / https</td> <td>日常性</td> <td>通过接口网关为周边系统提供服务</td> <td>Kubernetes Service NodePort<br>可在Kuboard中直接配置 <em><strong>访问方式/VPC内访问</strong></em> </td></tr> <tr><td>VPC内/集群外</td> <td>tcp / udp</td> <td>同上</td> <td>同上</td> <td></td></tr> <tr><td>集群内</td> <td>http / https</td> <td>日常性</td> <td><strong>场景1</strong>Web层访问微服务网关<br> <strong>场景2</strong>:微服务网关调用微服务,微服务之间的互相调用等。</td> <td><strong>场景1</strong>Kubernetes Service ClusterIP <br>可在Kuboard中直接配置 <em><strong>访问方式/集群内访问</strong></em> <br> <strong>场景2</strong>Spring Cloud中使用Eureka/Consul等服务发现<br>Kuboard中 <em><strong>访问方式/不配置</strong></em> </td></tr> <tr><td>集群内</td> <td>tcp / udp</td> <td>日常性</td> <td>微服务访问数据库、微服务访问Redis等</td> <td>Kubernetes Service ClusterIP <br>可在Kuboard中直接配置 <em><strong>访问方式/集群内访问</strong></em> </td></tr></tbody></table> <h2 id="feature-planned"><a href="#feature-planned" aria-hidden="true" class="header-anchor">#</a> Feature planned</h2> <p>在作者使用 Kuboard 的运维实践中,有如下两个场景不能脱离 kubeadm / kubectl 命令行:</p> <ul><li>初始化集群 / 向集群添加节点</li> <li>开发者临时需要访问数据库端口、Redis端口时通过 kubectl port-forward 进行端口转发</li></ul> <p>Kuboard 计划实现类似 kubectl port-forward 的功能,提高问题诊断过程中的便利性。</p></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">更新时间: </span> <span class="time">2019-07-25 22:26:28</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/guide/diagonize/logs.html" class="prev">
日志及终端
</a></span> <span class="next"><a href="/guide/monitor/">
监控套件
</a>
</span></p></div> <div class="bottom-description" data-v-79c95b4d>Copyright © 2019-present HuanQing Shao</div></main></div><div class="global-ui"><!----><div class="reading-progress top" data-v-7681808f><div class="progress" data-v-7681808f></div></div></div></div>
<script src="/assets/js/app.469e521d.js" defer></script><script src="/assets/js/11.85cc1d1b.js" defer></script><script src="/assets/js/2.4586c502.js" defer></script><script src="/assets/js/32.4cf659a7.js" defer></script>
</body>
</html>