Kubernetes 尝试在minikube中公开docker容器时出错
我使用minikube来了解docker,但我遇到了一个问题 我正在跟随Kubernetes中的例子,我试图从docker hub帐户中获取一个pod,但我无法使这个pod可见 如果我跑Kubernetes 尝试在minikube中公开docker容器时出错,kubernetes,minikube,Kubernetes,Minikube,我使用minikube来了解docker,但我遇到了一个问题 我正在跟随Kubernetes中的例子,我试图从docker hub帐户中获取一个pod,但我无法使这个pod可见 如果我跑 kubectl get pod 我可以看到吊舱是存在的 NAME READY STATUS RESTARTS AGE kubia 1/1 Running 1 6d22h 但是,当我执行创建服务的第一步时 kubectl expose rc kubia -
kubectl get pod
我可以看到吊舱是存在的
NAME READY STATUS RESTARTS AGE
kubia 1/1 Running 1 6d22h
但是,当我执行创建服务的第一步时
kubectl expose rc kubia --type=LoadBalancer --name kubia-http service "kubia-http" exposed
我正在返回此错误
Error from server (NotFound): replicationcontrollers "kubia" not found
Error from server (NotFound): replicationcontrollers "service" not found
Error from server (NotFound): replicationcontrollers "kubia-http" not found
Error from server (NotFound): replicationcontrollers "exposed" not found
你知道我为什么会犯这个错误吗?我需要做些什么来纠正它
我在mac Mojave(v10.14.6)上使用minikube v1.13.1,无法升级,因为我使用的是公司提供的机器,所有更新都由HQ控制。复制控制器是比在Kubernetes、checkout中创建服务和部署更古老的概念 服务模板如下所示:
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: App
ports:
- protocol: tcp
port: 80
targetPort: 8080
然后将服务配置保存到文件中后,执行kubectl apply-f
查看更多信息:在本书中,使用的命令是
kubectl run kubia--image=luksa/kubia--port=8080--generator=run/v1
,该命令在编写本书时用于创建ReplicationController
,但该对象当前已被取消权限
现在kubectl run
命令将创建不带ReplicationController的独立pod。因此,要公开它,您应该运行:
kubectl expose pod kubia --type=LoadBalancer --name kubia-http
为了创建复制,建议使用部署
。要使用CLI创建它,只需运行
kubectl create deployment <name_of_deployment> --image=<image_to_be_used>
我建议您创建一个in-YAML语法,将其与其他部署工件一起检入,并使用kubectl apply-f kubia service.yml安装它;避免像kubectl expose
这样的命令(在您正在阅读的教程中,服务“kubia http”expose
应该是kubectl expose
命令的输出吗?删除这些单词有帮助吗?)
kubectl expose deployment kubia --type=LoadBalancer --name kubia-http