【问题标题】:Kubernetes: access from outsideKubernetes:从外部访问
【发布时间】:2020-05-01 06:54:00
【问题描述】:

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

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" 

【问题讨论】:

  • 你在共享 kustomize 文件吗?

标签: kubernetes kind


【解决方案1】:

创建 NodePort 或 LoadBalancer(仅适用于受支持的云提供商)service 以在集群外公开部署。

这里有一个guide关于如何使用 NodePort 服务。

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

【讨论】:

    猜你喜欢
    • 2021-01-12
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    • 2021-05-16
    • 2015-12-14
    • 2018-11-03
    • 2017-03-14
    • 1970-01-01
    相关资源
    最近更新 更多