1. 使用服务(Service):
- 创建服务: 在 Kubernetes 中,可以通过创建服务对象来公开应用程序。服务充当了应用程序的网络入口,并将流量路由到相应的 Pod。
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: ClusterIP
2. 使用 Ingress:
- 创建 Ingress 资源: Ingress 是一种用于将外部流量路由到集群内服务的资源。首先,你需要创建 Ingress 资源,并将它配置为路由流量到相应的服务。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- host: myapp.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: my-service
port:
number: 80
3. 使用 NodePort:
- 创建服务: 创建服务时,将 type: NodePort 配置以公开服务的节点端口。
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: NodePort
4. 使用端口转发:
- 使用 kubectl port-forward: 使用 kubectl port-forward 命令可以直接将本地端口与 Pod 关联起来,使得可以通过本地端口访问 Pod。
kubectl port-forward pod-name local-port:pod-port
ssh -L local-port:localhost:pod-port user@cluster-ip
选择适当的方法取决于你的部署需求和安全性要求。服务和 Ingress 是常见的高级抽象,它们提供了更灵活的路由和访问控制能力。
转载请注明出处:http://www.zyzy.cn/article/detail/9931/Kubernetes