Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 公开hello minikube服务找不到端口_Linux_Kubernetes_Ubuntu 16.04_Minikube - Fatal编程技术网

Linux 公开hello minikube服务找不到端口

Linux 公开hello minikube服务找不到端口,linux,kubernetes,ubuntu-16.04,minikube,Linux,Kubernetes,Ubuntu 16.04,Minikube,我可以创建容器: $ kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port= deployment "hello-minikube" created 我现在正试图公开一项服务: $ kubectl expose deployment hello-minikube --type=NodePort error: couldn't find port via --port flag or i

我可以创建容器:

$ kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port=
deployment "hello-minikube" created
我现在正试图公开一项服务:

$ kubectl expose deployment hello-minikube --type=NodePort
error: couldn't find port via --port flag or introspection
即使我删除了它,它仍然会自动恢复:

$ kubectl delete pod hello-minikube-2138963058-2szl7
pod "hello-minikube-2138963058-2szl7" deleted
[stephane@stephane-ThinkPad-X201 ~]
$ kubectl get pods
NAME                              READY     STATUS    RESTARTS   AGE
hello-minikube-2138963058-nhh1q   1/1       Running   0          3m
这是吊舱:

$ kubectl get pods
NAME                              READY     STATUS    RESTARTS   AGE
hello-minikube-2138963058-2szl7   1/1       Running   0          16m
及其说明:

$ kubectl describe pod hello-minikube-2138963058-2szl7
Name:       hello-minikube-2138963058-2szl7
Namespace:  default
Node:       minikube/192.168.42.196
Start Time: Thu, 14 Sep 2017 23:20:03 +0200
Labels:     pod-template-hash=2138963058
        run=hello-minikube
Annotations:    kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"default","name":"hello-minikube-2138963058","uid":"2b37ca13-9968-11e7-a720-525400...
Status:     Running
IP:     172.17.0.3
Created By: ReplicaSet/hello-minikube-2138963058
Controlled By:  ReplicaSet/hello-minikube-2138963058
Containers:
  hello-minikube:
    Container ID:   docker://5e4ba407d8869e6e843ec3d7876e953147cc01104e980c7febfea218808ab379
    Image:      gcr.io/google_containers/echoserver:1.4
    Image ID:       docker-pullable://gcr.io/google_containers/echoserver@sha256:5d99aa1120524c801bc8c1a7077e8f5ec122ba16b6dda1a5d3826057f67b9bcb
    Port:       <none>
    State:      Running
      Started:      Thu, 14 Sep 2017 23:20:05 +0200
    Ready:      True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-t8qx7 (ro)
Conditions:
  Type      Status
  Initialized   True 
  Ready     True 
  PodScheduled  True 
Volumes:
  default-token-t8qx7:
    Type:   Secret (a volume populated by a Secret)
    SecretName: default-token-t8qx7
    Optional:   false
QoS Class:  BestEffort
Node-Selectors: <none>
Tolerations:    <none>
Events:
  FirstSeen LastSeen    Count   From            SubObjectPath           Type        Reason          Message
  --------- --------    -----   ----            -------------           --------    ------          -------
  17m       17m     1   default-scheduler                   Normal      Scheduled       Successfully assigned hello-minikube-2138963058-2szl7 to minikube
  17m       17m     1   kubelet, minikube                   Normal      SuccessfulMountVolume   MountVolume.SetUp succeeded for volume "default-token-t8qx7" 
  17m       17m     1   kubelet, minikube   spec.containers{hello-minikube} Normal      Pulled          Container image "gcr.io/google_containers/echoserver:1.4" already present on machine
  17m       17m     1   kubelet, minikube   spec.containers{hello-minikube} Normal      Created         Created container
  17m       17m     1   kubelet, minikube   spec.containers{hello-minikube} Normal      Started         Started container
$kubectl描述吊舱hello-minikube-2138963058-2szl7
姓名:hello-minikube-2138963058-2szl7
名称空间:默认值
节点:minikube/192.168.42.196
开始时间:2017年9月14日星期四23:20:03+0200
标签:pod模板哈希=2138963058
run=你好,minikube
注释:kubernetes.io/created by={“kind”:“SerializedReference”,“apiVersion”:“v1”,“reference”:{“kind”:“ReplicaSet”,“namespace”:“default”,“name”:“hello-minikube-2138963058”,“uid”:“2b37ca13-9968-11e7-a720-525400…”。。。
状态:正在运行
IP:172.17.0.3
创建人:ReplicaSet/hello-minikube-2138963058
控制人:ReplicaSet/hello-minikube-2138963058
容器:
你好,minikube:
容器ID:docker://5e4ba407d8869e6e843ec3d7876e953147cc01104e980c7febfea218808ab379
图片:gcr.io/google_containers/echoserver:1.4
图像ID:docker-pullable://gcr.io/google_containers/echoserver@sha256:5d99aa1120524c801bc8c1a7077e8f5ec122ba16b6dda1a5d3826057f67b9bcb
端口:
状态:正在运行
开始时间:2017年9月14日星期四23:20:05+0200
准备好了吗
重新启动计数:0
环境:
挂载:
/来自default-token-t8qx7(ro)的var/run/secrets/kubernetes.io/serviceCount
条件:
类型状态
初始化为True
准备好了吗
播客预定为真
卷数:
default-token-t8qx7:
类型:Secret(由Secret填充的卷)
SecretName:default-token-t8qx7
可选:false
QoS等级:最佳努力
节点选择器:
容忍:
活动:
子对象路径类型原因消息中的FirstSeen LastSeen计数
--------- --------    -----   ----            -------------           --------    ------          -------
17m 17m 1默认计划程序正常调度已成功将hello-minikube-2138963058-2szl7分配给minikube
17m 17m 1 kubelet,minikube正常装载卷装载卷。卷“default-token-t8qx7”的安装成功
17m 17m 1 kubelet,minikube spec.containers{hello minikube}正常拉式容器映像“gcr.io/google_containers/echoserver:1.4”已出现在计算机上
17m 17m 1 kubelet,minikube spec.containers{hello minikube}正常创建的容器
17m 17m 1 kubelet,minikube spec.containers{hello minikube}正常启动容器

所有这一切都发生在Linux上的主机minikube上。

您的pod将重新出现,因为部署将为容器创建一个副本集,如果当前pod终止,该副本集将创建一个新的副本集

运行此操作以检查是否部署了副本集

kubectl get rs
理想情况下,应该删除整个部署

kubectl delete deployment <name>
kubectl删除部署

出现此错误是因为您没有通过命令
kubectl run hello minikube--image=gcr.io/google\u containers/echoserver:1.4--port=
设置容器端口,因此expose命令不知道要映射到节点端口的容器端口,然后出错

您必须按照如下方式设置确切的容器端口
kubectl运行hello minikube--image=gcr.io/google_containers/echoserver:1.4--port=80
假设
80
是端口号,然后再次运行expose

请参阅下面我是如何一步一步地复制您的错误并修复的

C:\Users\innocent.anigbo\.minikube>kubectl run hello-kube --image=gcr.io/google_
containers/echoserver:1.4 --port=
deployment "hello-kube" created

C:\Users\innocent.anigbo\.minikube>kubectl get pods
NAME                             READY     STATUS    RESTARTS   AGE
hello-kube-1448409582-c9sm5      1/1       Running   0          1m
hello-minikube-938614450-417hj   1/1       Running   1          8d
hello-nginx-3322088713-c4rp4     1/1       Running   0          6m

C:\Users\innocent.anigbo\.minikube>kubectl get deployment
NAME             DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
hello-kube       1         1         1            1           2m
hello-minikube   1         1         1            1           8d
hello-nginx      1         1         1            1           7m

C:\Users\innocent.anigbo\.minikube>kubectl get service
NAME          CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
hello-nginx   10.0.0.136   <nodes>       80:32155/TCP   4m
kubernetes    10.0.0.1     <none>        443/TCP        20d

C:\Users\innocent.anigbo\.minikube>kubectl expose deployment hello-kube --type=N
odePort
error: couldn't find port via --port flag or introspection
See 'kubectl expose -h' for help and examples.

C:\Users\innocent.anigbo\.minikube>kubectl delete deployment hello-kube
deployment "hello-kube" deleted

C:\Users\innocent.anigbo\.minikube>kubectl get pods
NAME                             READY     STATUS    RESTARTS   AGE
hello-minikube-938614450-417hj   1/1       Running   1          8d
hello-nginx-3322088713-c4rp4     1/1       Running   0          11m

C:\Users\innocent.anigbo\.minikube>kubectl run hello-kube --image=gcr.io/google_
containers/echoserver:1.4 --port=80
deployment "hello-kube" created

C:\Users\innocent.anigbo\.minikube>kubectl get pods
NAME                             READY     STATUS    RESTARTS   AGE
hello-kube-2715294448-0rxf2      1/1       Running   0          3s
hello-minikube-938614450-417hj   1/1       Running   1          8d
hello-nginx-3322088713-c4rp4     1/1       Running   0          11m

C:\Users\innocent.anigbo\.minikube>kubectl expose deployment hello-kube --type=N
odePort
service "hello-kube" exposed

C:\Users\innocent.anigbo\.minikube>kubectl get service
NAME          CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
hello-kube    10.0.0.137   <nodes>       80:30004/TCP   3s
hello-nginx   10.0.0.136   <nodes>       80:32155/TCP   9m
kubernetes    10.0.0.1     <none>        443/TCP        20d
C:\Users\innomy.anigbo\.minikube>kubectl运行hello kube--image=gcr.io/google_
容器/echoserver:1.4--端口=
已创建部署“hello kube”
C:\Users\innomy.anigbo\.minikube>kubectl获取播客
名称就绪状态重新启动
hello-kube-1448409582-c9sm5 1/1运行0 1m
hello-minikube-938614450-417hj 1/1正在运行1 8d
hello-nginx-3322088713-c4rp4 1/1运行0 6m
C:\Users\innomy.anigbo\.minikube>kubectl获取部署
名称所需的当前最新可用年龄
你好kube 1 2m
你好Minikube18d
您好Nginx17M
C:\Users\innomy.anigbo\.minikube>kubectl获取服务
名称CLUSTER-IP EXTERNAL-IP端口年龄
您好nginx 10.0.0.136 80:32155/TCP 4m
kubernetes 10.0.0.1 443/TCP 20d
C:\Users\innonce.anigbo\.minikube>kubectl公开部署hello kube--type=N
奥德波特
错误:无法通过--port标志或内省找到端口
有关帮助和示例,请参见“kubectl expose-h”。
C:\Users\Innomy.anigbo\.minikube>kubectl删除部署hello kube
删除部署“hello kube”
C:\Users\innomy.anigbo\.minikube>kubectl获取播客
名称就绪状态重新启动
hello-minikube-938614450-417hj 1/1正在运行1 8d
hello-nginx-3322088713-c4rp4 1/1运行0 11m
C:\Users\innocent.anigbo\.minikube>kubectl运行hello kube--image=gcr.io/google_
容器/echoserver:1.4--端口=80
已创建部署“hello kube”
C:\Users\innomy.anigbo\.minikube>kubectl获取播客
名称就绪状态重新启动
hello-kube-2715294448-0rxf2 1/1正在运行0 3s
hello-minikube-938614450-417hj 1/1正在运行1 8d
hello-nginx-3322088713-c4rp4 1/1运行0 11m
C:\Users\innonce.anigbo\.minikube>kubectl公开部署hello kube--type=N
奥德波特
服务“hello kube”暴露
C:\Users\innomy.anigbo\.minikube>kubectl获取服务
名称CLUSTER-IP EXTERNAL-IP端口年龄
你好kube 10.0.0.137 80:30004/TCP 3s
他