首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kubectl暴露

kubectl暴露
EN

Stack Overflow用户
提问于 2015-08-06 11:26:42
回答 1查看 3.5K关注 0票数 6

在发布以下json对象(不包括变量)后,我在获取外部ip地址时遇到了一些问题:

代码语言:javascript
复制
$json= '{
          "kind": "Service",
          "apiVersion": "v1",
          "metadata": {
            "name": ""
          },
          "spec": {
            "ports": [{
              "port": 80,
              "targetPort": 80
            }],
            "selector": {
              "app": ""
            },
            "type": "LoadBalancer"
          }
}';

该服务是创建的,但从来没有给出外部ip。

由于无法确定问题的所在,我使用文档中提供的以下命令(V1 kubernetes /examples/Simpl-nginx.md)安装了kubernetes的干净副本(以及它定义安装的集群):

代码语言:javascript
复制
curl -sS https://get.k8s.io | bash

当然,这是自动设置的。然后运行以下命令来测试LoadBalancer函数是否正常工作:

代码语言:javascript
复制
kubectl run my-nginx --image=nginx --replicas=2 --port=80

在运行kubectl get pods以确认它们已经准备好之后,我公开了该服务:

代码语言:javascript
复制
kubectl expose rc my-nginx --port=80 --type=LoadBalancer

然后我在过去几分钟运行了kubectl get service,没有提供任何公共ip。

这不对吗?

编辑

代码语言:javascript
复制
kubectl get services  

NAME         LABELS                                    SELECTOR       IP(S)          PORT(S)
kubernetes   component=apiserver,provider=kubernetes   <none>         10.0.0.1       443/TCP
my-nginx     run=my-nginx                              run=my-nginx   10.0.136.163   80/TCP


kubectl get service my-nginx -o yaml  

apiVersion: v1
kind: Service
metadata:
  creationTimestamp: 2015-08-11T11:44:02Z
  labels:
    run: my-nginx
  name: my-nginx
  namespace: default
  resourceVersion: "1795"
  selfLink: /api/v1/namespaces/default/services/my-nginx
  uid: 434751be-401e-11e5-a219-42010af0da43
spec:
  clusterIP: 10.x.xxx.xxx
  ports:
  - nodePort: 31146
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    run: my-nginx
  sessionAffinity: None
  type: LoadBalancer
status:
  loadBalancer: {}

运行后(谢谢GameScripting):

代码语言:javascript
复制
kubectl describe service my-nginx

我看到了以下错误:

代码语言:javascript
复制
FirstSeen               LastSeen            Count   From            SubobjectPath   Reason              Message
  Tue, 11 Aug 2015 14:00:00 +0200   Tue, 11 Aug 2015 14:02:41 +0200 9   {service-controller }           creating loadbalancer failed    failed to create external load balancer for service default/my-nginx: googleapi: Error 403: Quota 'FORWARDING_RULES' exceeded.  Limit: 15.0
EN

回答 1

Stack Overflow用户

发布于 2015-08-11 13:03:43

在手动删除“Network->负载平衡->网络负载平衡”(或者您可以使用gcloud compute forwarding-rules delete)下的转发规则之后,我再次获得了公共Ip。似乎转发规则没有被删除,并达到了极限。奇怪的是,当我运行Kubectl stop service时,它为我删除了转发规则。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31854554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档