我见过Kubernetes Securing services,但我在问一个更基本的问题。
如何确保服务的安全性?我有一个存储库层,该存储库层在集群外部不可用,而仅对集群内的服务可用。我不太清楚如何使用kubernetes来解决这个问题,或者它是否本身就能解决。
答案 0 :(得分:3)
如果通过限制访问服务的方式来表示网络级安全性,那么可以使用多种类型的kubernetes选项来公开该服务,但在这种情况下,您可以使用 Service 公开它。 > 类型 ClusterIP ,以便仅在群集内可用。
服务类型共有五种服务类型:
ClusterIP(默认):内部客户端将请求发送到稳定版 内部IP地址。
NodePort:客户端将请求发送到一个或多个节点上的节点的IP地址 服务指定的更多nodePort值。
LoadBalancer:客户端将请求发送到网络的IP地址 负载均衡器。
ExternalName:内部客户端将服务的DNS名称用作 外部DNS名称的别名。
无头服务:您可以在需要的情况下使用无头服务 一个Pod分组,但不需要稳定的IP地址。
以下是ClusterIP类型的服务的清单:
apiVersion: v1
kind: Service
metadata:
name: my-cip-service
spec:
selector:
app: metrics
department: sales
type: ClusterIP
ports:
- protocol: TCP
port: 80
targetPort: 8080
答案 1 :(得分:0)
ClusterIP
在群集外部不可用。如果您创建类型为NodePort
或LoadBalancer
的服务,则可以在集群外部访问该服务。
https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types