我想minikube需要VirtualBox,因为Dockers的依赖关系,但我目前的docker版本不需要它.
那么我还需要VirtualBox或其他VM来启动minikube吗?
我在我的机器上设置了docker,还有minikube,里面有docker,所以我可能在不同的VM上运行了两个docker实例
我构建一个图像并标记它,然后将其推送到本地注册表,它成功推送,我也可以从注册表中拉出它也是当我运行curl得到标签列表我得到结果,这是我做的
1- docker build -t 127.0.0.1:5000/eliza/console:0.0.1 .
2- docker run -d -p 5000:5000 --name registry registry:2
3- docker tag a3703d02a199 127.0.0.1:5000/eliza/console:0.0.1
4- docker push 127.0.0.1:5000/eliza/console:0.0.1
5- curl -X GET http://127.0.0.1:5000/v2/eliza/console/tags/list
Run Code Online (Sandbox Code Playgroud)
以上所有步骤都运行正常,没有任何问题.
我的问题是当我运行minikube并尝试在其中的本地注册表中访问此图像
所以,当我运行下一个命令
1- sudo minikube start --insecure-registry 127.0.0.1:5000
2- eval $(minikube docker-env)
3- minikube ssh
4- curl -X GET http://127.0.0.1:5000/v2/eliza/console/tags/list
Run Code Online (Sandbox Code Playgroud)
在最后一步(第4点),它给了我下一条消息
curl:(7)无法连接到127.0.0.1端口5000:连接被拒绝
因此,我可以从我的机器访问图像注册表,但不能从minikube访问,当我在minikube上使用Kubernetes部署此图像时,我当然会遇到问题,并且由于无法连接到http://127.0.0.1:5000而导致部署失败
你能帮我配置minikube来查看我的本地注册表,这样我的问题就能解决,然后我可以成功地使用kubernetes将图像部署到minikube吗?
UPDATE
我正在使用这个yaml文件(我命名为ConsolePre.yaml)来使用kubernetes部署我的图像
apiVersion: v1
kind: Service
metadata:
name: tripbru-console
labels:
app: tripbru-console
spec:
ports:
- port: 9080
targetPort: 9080
nodePort: …Run Code Online (Sandbox Code Playgroud) 我正在尝试将本地开发环境切换为在minikube中运行。我已构建了所有容器映像,并已完成所有YAML配置,并且已运行了所有需要运行的服务,并且可以使用返回的URL minikube service web --url(web是我的前端nginx服务器的名称)来访问它们。但是有一件事我无法弄清楚。我正在从事的项目需要与后端通信的智能外部设备。我有几个坐在长凳上的设备,它们连接到本地LAN,但是我不知道如何将运行在minikube中的服务暴露给外部,即,这样设备就可以使用笔记本电脑的外部IP连接到服务。有这样做的标准方法吗?
编辑:我试图为我的服务配置入口。这是我的入口配置。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: web
spec:
backend:
serviceName: web
servicePort: 80
Run Code Online (Sandbox Code Playgroud)
该Web服务可通过minikube service web命令访问,并显示为NodePort类型。当我尝试访问入口时,我得到的只是“默认后端404”。另一方面,即使它确实起作用,我仍然会遇到问题,因为入口正在将服务公开到VM内部子网中,并且无法从主机外部访问。我开始考虑运行某种代理或加速器,以将事物从主机转发到minikube vm。仍然需要运行入口以具有代理的持久端点。
针对类似问题的精简堆栈溢出解决方案并没有解决我的问题,因此希望分享我目前遇到的问题以获得帮助调试此问题.
这是一个小小的前言; 我几天前最初安装了minikube/kubectl.我今天继续尝试关注minikube教程,现在遇到了问题.我正在关注minikube入门指南.
我在MacOS上.我的版本:
$ kubectl版本
$ minikube update-context
$ minikube版本
$ minikube ip
$ vboxmanage --version
~/.kube/config
以下是我试图检查响应的一系列命令.
$ minikube开始
$ minikube update-context
$ minikube状态
$ minikube ip
我不知道发生了什么,但再次检查状态返回"Misconfigured".我运行了推荐的命令~/.kube/config,现在$ minikube update-context指向"172.17.0.1".Ping此IP会返回请求超时,100%丢包.双重检查上下文,我仍然在上下文和集群中使用"minikube":
$ kubectl config get-cluster
$ kubectl config get-context
$ kubectl获取pods
$ minikube ip
阅读github问题,我遇到了这个问题:kubernetes#44665.所以...
$ ls/etc/kubernetes
~/.kube/config
$ minikube日志
$ minikube update-context
我不确定如何ping一个https网址,但是如果我ping ip
$ kube ping 192.168.99.103
$ minikube ip
看看kube配置文件...... $ cat ~/.kube/config
$ minikube update-context …
我是集群容器管理的新手,这个问题是这里所有新手的基础。
我阅读了一些文档,但我的理解仍然不太清楚,所以任何线索..有助于理解?
我认为这 4-5 组会更好地帮助我。
我正在 minikube 中运行一些服务并尝试连接到 3306 端口上在 localhost(127.0.0.1) 上运行的 mysql。
我读了这个并尝试创建service和Endpoints. 但是,当我指定127.0.0.1为 IP 时,它会引发如下错误:
The Endpoints "mysql-service" is invalid: subsets[0].addresses[0].ip: Invalid value: "127.0.0.1": may not be in the loopback range (127.0.0.0/8)
我的部署如下:
---
apiVersion: v1
kind: Service
metadata:
name: mysql-service
spec:
ports:
- protocol: TCP
port: 1443
targetPort: mysql
---
apiVersion: v1
kind: Endpoints
metadata:
name: mysql-service
subsets:
- addresses:
- ip: 127.0.0.1
ports:
- name: mysql
port: 3306
Run Code Online (Sandbox Code Playgroud)
请帮助我了解如何mysql从minikube. …
我已经根据下面的配置文件创建了 ClusterIP 服务,但是我似乎无法从 minikube 获取该服务的 URL
\n\nk create -f service-cluster-definition.yaml\n\xe2\x9e\x9c minikube service myapp-frontend --url \n service default/myapp-frontend has no node port\nRun Code Online (Sandbox Code Playgroud)\n\n如果我尝试将 NodePort 添加到service-cluster-definition.yaml 的ports部分,它会抱怨错误,认为此类密钥已被弃用。
\n\n服务集群定义.yaml
\n\napiVersion: v1\nkind: Service\nmetadata:\n name: myapp-frontend\nspec:\n type: ClusterIP\n ports:\n - targetPort: 80\n port: 80\n selector:\n app: myapp\n type: etl\n\nRun Code Online (Sandbox Code Playgroud)\n\n部署定义.yaml
\n\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: myapp-deployment\n labels:\n app: myapp\n env: experiment\n type: etl\nspec:\n template:\n metadata:\n name: myapp-pod\n labels:\n app: myapp\n env: experiment\n type: etl\n spec:\n containers:\n …Run Code Online (Sandbox Code Playgroud) 我正在使用 minikube(docker 驱动程序)和 kubectl 来测试 agones 舰队部署。运行后kubectl apply -f lobby-fleet.yml(当我尝试应用任何其他 agones yaml 文件时),我收到以下错误:
error: resource mapping not found for name: "lobby" namespace: "" from "lobby-fleet.yml": no matches for kind "Fleet" in version "agones.dev/v1"
ensure CRDs are installed first
Run Code Online (Sandbox Code Playgroud)
大厅-fleet.yml:
apiVersion: "agones.dev/v1"
kind: Fleet
metadata:
name: lobby
spec:
replicas: 2
scheduling: Packed
template:
metadata:
labels:
mode: lobby
spec:
ports:
- name: default
portPolicy: Dynamic
containerPort: 7600
container: lobby
template:
spec:
containers:
- name: lobby
image: gcr.io/agones-images/simple-game-server:0.12 # Modify to …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试在Minikube上重现本教程:
http://blog.kubernetes.io/2017/01/running-mongodb-on-kubernetes-with-statefulsets.html
Run Code Online (Sandbox Code Playgroud)
我更新了配置文件,以将主机路径用作minikube节点上的持久存储.
kind: PersistentVolume
apiVersion: v1
metadata:
name: pv0001
labels:
type: local
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/tmp"
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: myclaim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: Service
metadata:
name: mongo
labels:
name: mongo
spec:
ports:
- port: 27017
targetPort: 27017
clusterIP: None
selector:
role: mongo
---
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: mongo
spec:
serviceName: "mongo"
replicas: 3
template:
metadata:
labels:
role: mongo
environment: …Run Code Online (Sandbox Code Playgroud) 我试图使用VM和minikube设置一个本地集群,因为Id已经阅读它唯一可能用于本地目的,但id喜欢加入辅助机器,并且我正在搜索创建连接和散列的方法.
kubernetes ×10
minikube ×10
docker ×3
agones ×1
docker-swarm ×1
gcp ×1
mongodb ×1
mysql ×1
raspberry-pi ×1