当前位置: 首页 > 知识库问答 >
问题:

如何使用yaml配置在minikube上创建服务,该配置可从主机访问?

哈沛
2023-03-14

如何正确地为minikube集群中的kubernetes pod和服务编写yaml配置,并在docker上提供一个要求:容器的80端口必须可从主机访问。具有节点端口的解决方案未按预期工作:

 type: NodePort 
 ports:
  - port: 80
    targetPort: 8006
  selector:
    app: blogapp

标签应用:容器上设置的blogapp。您可以显示nginx映像的正确配置吗?例如,可以从主机访问端口。

共有2个答案

闾丘朗
2023-03-14

您可以使用以下配置:

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: blog-app-server-instance
  labels:
    app: blog-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: blog-app
  template:
    metadata:
      labels:
        app: blog-app
    spec:
      containers:
      - name: blog-app-server-instance
        image: blog-app-server
        ports:
        - containerPort: 8006
---
apiVersion: v1
kind: Service
metadata:
  name: blog-app-service
  labels:
    app: blog-app
spec:
  selector:
    app: blog-app
  type: NodePort
  ports:
  - port: 80
    nodePort: 31364
    targetPort: 8006
    protocol: TCP
    name: http

我猜你错过了规格端口[0].节点端口

谭建章
2023-03-14

您应该创建库伯内特斯部署,而不是创建NodePort。创建部署后(这也将自动创建ReplicaSet和Pod),您可以公开它。默认情况下,blogapp对外部世界不可用,因此如果您希望能够从集群外部访问它,您必须公开它。

公开部署也将自动创建一个< code >服务。

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: blogapp
  labels:
    app: blogapp
spec:
  replicas: 1
  strategy: {}
  template:
    metadata:
      labels:
        app: blogapp
    spec:
      containers:
      - image: <YOUR_NGINX_IMAGE>
        name: blogapp
        ports:
        - containerPort: 8006
        resources: {}
      restartPolicy: Always
status: {}

< code > ku bectl create-f deployment . yml

< code > kubectl expose deployment blogapp-name = blogapp-type = load balancer-target-port = 8006

迷你库贝服务博客 --网址

 类似资料:
  • 我试图使用Java配置创建一个Spring4 RESTFul服务,并将其部署到Tomcat。但我无法到达终点。我错过了什么?这就是我所拥有的。 我被派往Tomcat。Tomcat开始很好。我试着点击它http://localhost:8080/api/greetings,它给了我404。我错过了什么? 谢了!

  • 引入 Maven 依赖 <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>shardingsphere-jdbc-core</artifactId> <version>${shardingsphere.version}</version> </dependency> <!-- 使用

  • 引入 Maven 依赖 <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>shardingsphere-jdbc-core</artifactId> <version>${shardingsphere.version}</version> </dependency> 规则配置 Sha

  • 问题内容: 我有一台具有分配给一个网络接口的多个IP地址的主机。我想配置Docker,以使容器将每个容器“响应”到分配给主机的这些IP地址的单个IP。 可以使用libcontainer完成此操作,还是必须使用LXC驱动程序并使用来运行我的容器? 提前致谢。 更新 我希望每个容器都可以从外面拿到。使用默认Docker配置时,我只能暴露端口并不能通过到达容器。可以以某种方式配置第二个选项吗? 问题答案

  • 配置代理服务器能干嘛 NEI toolkit 提供了代理服务器的功能,帮助将接口代理到NEI官网或者特定的服务器上 将接口代理到NEI官网 开启该功能只需将server.config.js中的online设为true, 那么对Mock Server的所有请求都将会代理到NEI官网上,该模式也被称为在线模式。 启用在线模式可以减少执行nei update的操作,在频繁更改官网数据的情况下能够大幅加快

  • 5.0.0-alpha 数据分片 配置项说明 dataSources: # 省略数据源配置,请参考使用手册 rules: - !SHARDING tables: # 数据分片规则配置 <logic-table-name> (+): # 逻辑表名称 actualDataNodes (?): # 由数据源名 + 表名组成(参考Inline语法规则) databas