我正在尝试从浏览器访问一个简单的 minikube 集群,但我不断收到以下信息:\n\xe2\x9d\x97 Because you are using a Docker driver on windows, the terminal needs to be open to run it.
我已经为集群创建了一个外部服务,端口号为 30384,并且我在 docker 容器中运行 minikube。
\n我正在按照“Hello Minikube”示例来创建我的部署。
\n第 1 步:我创建了部署:
\nkubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4
第 2 步:我创建了外部服务:\nkubectl expose deployment hello-node --type=LoadBalancer --port=8080
第三步:我运行了该服务,这就是我塞满的地方\n”minikube service hello-node
完整的返回消息:
\n\xe2\x9d\x97 Executing "docker container inspect minikube --format={{.State.Status}}" took an unusually long time: 2.3796077s\n Restarting the docker service may improve performance. …
Minikube应该让在本地运行Kubernetes变得简单,不仅是为了"入门",还为了"日常开发工作流程".
来源:https://github.com/kubernetes/minikube/blob/master/ROADMAP.md#goals
但我还可以读到:"PersistentVolumes映射到minikube VM内的目录.Minikube VM引导到tmpfs,因此大多数目录不会在重新启动后保留(minikube stop)"
来源:https://kubernetes.io/docs/getting-started-guides/minikube/#persistent-volumes
那么如果我的开发需要持久存储(MySQL数据库,mongodb数据库......)怎么办?我是否需要扔掉我的Minikube并直接安装完整的Kubernetes?
是否有可能让我的开发机器成为Minikube网络的一部分?
理想情况下,它应该双向工作:
这听起来第一部分在使用网络路由的GCE上是可行的,所以我想知道它是否可以在本地使用Minikube.
我对Kubernetes相当新,我最近使用miniKube使用NodePort类型公开了一项服务.我想测试我的应用程序的运行,但我没有看到任何外部IP但只有端口.这是我的输出:
$kubectl get service
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 10.0.0.1 <none> 443/TCP 1h
kubernetes-bootcamp 10.0.0.253 <nodes> 8080:31180/TCP 20m
$kubectl describe services/kubernetes-bootcamp
Name: kubernetes-bootcamp
Namespace: default
Labels: run=kubernetes-bootcamp
Annotations: <none>
Selector: run=kubernetes-bootcamp
Type: NodePort
IP: 10.0.0.253
Port: <unset> 8080/TCP
NodePort: <unset> 31180/TCP
Endpoints: 172.17.0.2:8080
Session Affinity: None
Events: <none>
Run Code Online (Sandbox Code Playgroud)
External IP在这种情况下是什么,以便我可以使用curl暴露我的应用程序的输出,我在我的笔记本电脑上工作时遵循教程:https://kubernetes.io/docs/tutorials/kubernetes-basics/expose-interactive/.
PS:这<nodes>对get service命令输出意味着什么External-IP?
我正在尝试公开我的api所以我可以向它发送请求.但是,当我使用命令时,minikube service api --url我什么都没得到.我所有的豆荚都运行得很好,kubectl get pods所以我坚持认为这可能是什么.
api-1007925651-0rt1n 1/1 Running 0 26m
auth-1671920045-0f85w 1/1 Running 0 26m
blankit-app 1/1 Running 5 5d
logging-2525807854-2gfwz 1/1 Running 0 26m
mongo-1361605738-0fdq4 1/1 Running 0 26m
jwl:.build jakewlace$ kubectl get services
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
api 10.0.0.194 <none> 3001/TCP 23m
auth 10.0.0.36 <none> 3100/TCP 23m
kubernetes 10.0.0.1 <none> 443/TCP 5d
logging 10.0.0.118 <none> 3200/TCP 23m
mongo 10.0.0.132 <none> 27017/TCP 23m
jwl:.build jakewlace$
jwl:.build jakewlace$ minikube service api --url
jwl:.build jakewlace$ …Run Code Online (Sandbox Code Playgroud) 我是 Kubernetes 的新手,我正在学习。我有安装 Vagrant 的 Windows 8 机器。使用 vagrant 我正在运行 ubuntu VM,在该 VM 中我正在运行 3 个 docker 容器。
流浪文件:
Vagrant.configure(2) do |config|
config.vm.box = "test"
config.vm.network "public_network"
config.vm.network "forwarded_port", guest: 8080, host: 8080
config.vm.network "forwarded_port", guest: 50000, host: 50000
config.vm.network "forwarded_port", guest: 8081, host: 8089
config.vm.network "forwarded_port", guest: 9000, host: 9000
config.vm.network "forwarded_port", guest: 3306, host: 3306
config.vm.provider "virtualbox" do |v|
v.memory = 2048
v.cpus = 2
end
config.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, …Run Code Online (Sandbox Code Playgroud) 目前,我正在通过执行以下操作从文件config.json创建一个configmap:
kubectl create configmap jksconfig --from-file=config.json
Run Code Online (Sandbox Code Playgroud)
我希望将ConfigMap 创建为部署的一部分,并尝试执行以下操作:
apiVersion: v1
kind: ConfigMap
metadata:
name: jksconfig
data:
config.json: |-
{{ .Files.Get "config.json" | indent 4 }}
Run Code Online (Sandbox Code Playgroud)
但似乎不起作用。应该怎么做才能进入configmap.yaml,以便创建相同的configmap?
-更新-
当我执行头盔安装空运行时:
# Source: mychartv2/templates/jks-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: jksconfig
data:
config.json: |
Run Code Online (Sandbox Code Playgroud)
注意:我正在使用minikube作为我的kubernetes集群
我是 Kubernetes 的新手。我正在尝试在我的本地 mac 机器上启动一个 kubernetes 集群。我正在使用以下命令启动 Kubernetes:
minikube start --vm-driver=hyperkit
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
/usr/local/bin/kubectl is version 1.14.7, and is incompatible with Kubernetes 1.17.0.
You will need to update /usr/local/bin/kubectl or use 'minikube kubectl' to connect with this cluster
Run Code Online (Sandbox Code Playgroud)
现在在执行以下命令时:
minikube kubectl
Run Code Online (Sandbox Code Playgroud)
它没有做任何事情,只是显示基本命令及其用法。
在尝试升级 kubetctl 时,它显示它已经是最新的。
我还没有找到任何解决方案。关于如何解决这个问题的任何想法?
我目前正在使用 minikube,并且我正在尝试使用 来访问我的应用程序,minikube tunnel因为服务类型是LoadBalancer.
当我执行 时,我能够获取外部 IP minikube tunnel,但是,当我尝试在浏览器上检查它时,它不起作用。我也尝试过Postman和curl,它们都不起作用。
除此之外,如果我进入 pod,我可以使用curl,它确实可以工作。此外,我执行了kubectl port-forward并且能够通过localhost访问我的应用程序。
有谁知道为什么我无法访问我的应用程序,即使一切似乎都运行正常?
我正在尝试使用kubernetes进行本地部署minikube,我想在主机和 Pod 之间安装共享目录。为此,我尝试将目录安装到minikube. 但我已经运行了 minikube,但几乎没有部署在运行。我删除了它们。但是每次我用 mount 重新启动 minikube 时都会出现以下错误
$ minikube start --mount-string="/var/log:/log" --mount
* minikube v1.14.2 on Ubuntu 18.04
* Using the docker driver based on existing profile
* Starting control plane node minikube in cluster minikube
* Restarting existing docker container for "minikube" ...
X Exiting due to GUEST_MOUNT_CONFLICT: Sorry, docker does not allow mounts to be changed after container creation (previous mount: '', new mount: '/var/log:/log)'
Run Code Online (Sandbox Code Playgroud)
kubectl get all 的输出是
kubectl …Run Code Online (Sandbox Code Playgroud) kubernetes ×10
minikube ×10
docker ×5
configmap ×1
ip ×1
kubectl ×1
networking ×1
ubuntu ×1
vagrant ×1