Kubernetes:从外部访问

时间:2020-05-01 06:54:00

标签: kubernetes kind

我有一个烧瓶应用程序在远程Kubernetes集群上运行,当我在内部访问它时,它就可以工作。但是,当我尝试从外部访问它时,什么也没有发生。 我正在使用kind创建集群。在本地,我可以通过节点的IP地址访问flask应用程序。 我不知道如何从外部访问该服务,我是否需要做其他事情才能访问该应用程序。

apiVersion: v1
vi serkind: Service
metadata:
  name: iweblens-svc 
  labels:
    app: flaskapp 
spec:
  type: NodePort 
  ports:
  - port: 5000
    targetPort: 5000
    protocol: TCP
  selector:
    app: flaskapp


kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
kubeadmConfigPatches:
- |
  apiVersion: kubelet.config.k8s.io/v1beta1
  kind: KubeletConfiguration
  evictionHard:
    nodefs.available: "0%"
kubeadmConfigPatchesJSON6902:
- group: kubeadm.k8s.io
  version: v1beta2
  kind: ClusterConfiguration
  patch: |
    - op: add
      path: /apiServer/certSANs/-
      value: my-hostname
nodes:
- role: control-plane
- role: worker


apiVersion: apps/v1
kind: Deployment
metadata:
  name: flaskapp 
  labels:
    app: flaskapp 
spec:
  replicas: 1
  selector:
    matchLabels: 
      app: flaskapp
  template:
    metadata:
      labels:
        app: flaskapp 
    spec:
      containers:
      - name: flaskapp
        image: myimage 
        imagePullPolicy: Never
        ports:
        - containerPort: 5000 
        resources:
          limits:
            cpu: "0.5"
          requests: 
            cpu: "0.5" 

1 个答案:

答案 0 :(得分:2)

创建NodePort或LoadBalancer(仅在受支持的云提供程序上工作)service,以在群集外部公开部署。

这里是guide,说明如何使用NodePort服务。

要能够通过NodePort服务访问应用程序,需要从您正在访问它的系统访问Node IP(即应该在同一网络中)。

相关问题