背景
- kubernetes集群在内网中
- 服务部署在kubernetes集群中
- 允许暴露一个端口,可以远程访问
目的
- 访问内网服务的mysql redis mongodb
方案一
部署一套archery,通过端口暴露到公网,实现远程访问
缺点:只能访问特定服务,archery比较厚重
方案二
内网部署一个pod,运行ssh客户端,预装常用工具,mysql-client,redis-cli等
tmp.yaml
apiVersion: v1
kind: Pod
metadata:
name: my-svc
labels:
app.kubernetes.io/name: my-svc
spec:
containers:
- name: my-svc
image: docker.io/linjinbao66/dev-server:1.0.0
---
kind: Service
apiVersion: v1
metadata:
name: my-svc
namespace: default
labels:
app: my-svc
spec:
ports:
- name: tcp-22
protocol: TCP
port: 22
targetPort: 22
nodePort: 30080
selector:
app.kubernetes.io/name: my-svc
type: NodePort
sessionAffinity: None
externalTrafficPolicy: Cluster
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
远程访问,ssh test@ip -p30080