我在我的 Mac 上安装了 minikube,并为我的 Nodejs 应用程序创建了部署和服务。我通过使用以下命令获取服务的 URL 来测试一切正常:
minikube service my-nodejs-app --url
Run Code Online (Sandbox Code Playgroud)
然后我在浏览器中运行这个 URL 并得到结果。问题是当我尝试从同一网络内的另一台计算机访问相同的 URL 时,它不起作用。
我的service.yml文件是:
apiVersion: v1
kind: Service
metadata:
name: my-nodejs-app
spec:
type: NodePort
ports:
- port: 80
targetPort: 1337
protocol: TCP
name: app-server
selector:
app: my-nodejs-app
Run Code Online (Sandbox Code Playgroud)
我尝试使用端口转发将 pod 端口转发到本地主机,它仅在托管集群的同一台机器上工作,并且当我尝试从同一网络上的另一台机器访问时(通过集群所在机器的 IP 地址)已部署)我仍然找不到页面。
我正在尝试创建服务kubernetes,但尽管没有打印错误,但我无法列出该服务;
本地工作minikube
*$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 4h
/home/pkara/Workspace/gitlab/my-minikube
*$ kubectl apply -f mydb.yaml
service/mydatabase unchanged
/home/pkara/Workspace/gitlab/my-minikube
*$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 4h
Run Code Online (Sandbox Code Playgroud)
这是使用的清单:
---
apiVersion: v1
kind: Service
metadata:
name: mydatabase
namespace: esa-local-dev
labels:
app: mydatabase
spec:
ports:
- name: mydatabase-port
port: 3306
targetPort: 3306
selector:
app: mydatabase
clusterIP: None
---
apiVersion: apps/v1
kind: Deployment
metadata: …Run Code Online (Sandbox Code Playgroud) 我是 kubernetes 的初学者。我正在尝试安装 minikube 想在 kubernetes 中运行我的应用程序。我正在使用 ubuntu 16.04
我已按照此处提供的安装说明进行操作 https://kubernetes.io/docs/setup/learning-environment/minikube/#using-minikube-with-an-http-proxy
问题 1:安装 kubectl、virtualbox 和 minikube 后,我运行了命令
minikube start --vm-driver=virtualbox
Run Code Online (Sandbox Code Playgroud)
它因以下错误而失败
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Getting VM IP address...
Moving files into cluster...
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
E0912 17:39:12.486830 17689 start.go:305] Error restarting
cluster: restarting kube-proxy: waiting for kube-proxy to be
up for configmap update: timed out waiting for the condition
Run Code Online (Sandbox Code Playgroud)
但是当我检查 virtualbox 时,我看到 minikube VM 正在运行,当我运行 kubectl 时 …
我按照指南在我的 ubuntu-18.04 虚拟机上安装了一个测试 minikube。它是我的 Windows 计算机上的 virtualbox。所以我使用 sudo minikube start --vm-driver=none 来启动 minikube。然后执行 minikube dashboard ....我可以使用生成的令牌访问http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ 。现在一切都很好。
但我需要在周末关闭计算机电源。所以我停止 minikube 并关闭 ubuntu 虚拟机。
sudo minikube stop
sudo shutdown
Run Code Online (Sandbox Code Playgroud)
当我周一回到工作岗位时,我无法访问仪表板 UI WEB,
sudo minikube dashboard一直挂起,直到我按 Ctrl+C。
minikube 仪表板挂起,直到我按 Ctrl+C
如何恢复wei ui?或者在关闭虚拟机之前我需要做什么?
我已经在 Minikube 上设置了一个“hello world”入口,如教程中所述。唯一的区别 - 我删除了特定的主机名以使用 \'*\' 代替。然而,它似乎只能与 minikube ( ) 提供的入口控制器一起使用minikube addons enable ingress。当我尝试禁用它并使用helm install nginx-ingress stable/nginx-ingress它时,我无法再访问 Hello World 示例网站。我收到“连接被拒绝”错误:
$ kubectl get ingress\nNAME HOSTS ADDRESS PORTS AGE\nexample-ingress * 192.168.64.6 80 6m23s\n\n$ minikube ip\n192.168.64.6\n\n$ curl -iv "192.168.64.6"\n* Rebuilt URL to: 192.168.64.6/\n* Hostname was NOT found in DNS cache\n* Trying 192.168.64.6...\n* connect to 192.168.64.6 port 80 failed: Connection refused\n* Failed to connect to 192.168.64.6 port 80: Connection refused\n* Closing connection 0\ncurl: (7) Failed …Run Code Online (Sandbox Code Playgroud) 当我运行此命令时:
minikube start --vm-driver=hyperv
minikube 无法启动并显示以下错误:
Microsoft Windows 10 Enterprise 上的 minikube v1.7.2
根据用户配置使用hyperv驱动
!“hyperv”驱动程序报告了一个问题:C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe Get-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All -Online failed:
建议:以管理员身份启动 PowerShell,然后运行:'Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All'
X hyperv 似乎没有安装
所以我按照显示的消息并启动了命令:
Get-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All -Online
它向我展示了以下结果:
FeatureName:Microsoft-Hyper-V-All DisplayName:Hyper-V 描述:提供用于创建和运行虚拟机及其资源的管理服务和工具。RestartRequired:可能的状态:已启用 CustomProperties:
此外,我已验证 Hyper-v 已正确安装。我安装了 minikube 1.7.2。知道如何解决这个问题吗?
谢谢你的帮助。
总体情况是:我正在尝试在 Kubernetes 中安装带有插件的 WordPress,以便在 Minikube 中进行开发。
我想使用官方的 wp-cli Docker 镜像来安装插件。我正在尝试使用可写的持久卷。在 Minikube 中,我使用命令打开对 minikube 集群的挂载:
minikube mount ./src/plugins:/data/plugins
Run Code Online (Sandbox Code Playgroud)
现在,PV 定义如下所示:
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: wordpress-install-plugins-pv
labels:
app: wordpress
env: dev
spec:
capacity:
storage: 5Gi
storageClassName: ""
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
hostPath:
path: /data/plugins
Run Code Online (Sandbox Code Playgroud)
PVC 看起来像这样:
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: wordpress-install-plugins-pvc
labels:
app: wordpress
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: ""
volumeName: wordpress-install-plugins-pv
Run Code Online (Sandbox Code Playgroud)
创建和绑定均成功。插件安装的作业定义如下所示:
---
apiVersion: batch/v1
kind: Job
metadata:
name: install-plugins …Run Code Online (Sandbox Code Playgroud) permissions kubernetes persistent-volumes persistent-volume-claims minikube
我在 Windows 10 上使用 docker desktop 和 minikube。我使用minikube docker-env如下命令找到了本地 docker 存储库的 IP 地址,
> minikube docker-env
SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://172.17.105.232:2376
SET DOCKER_CERT_PATH=C:\Users\joseph\.minikube\certs
SET MINIKUBE_ACTIVE_DOCKERD=minikube
REM To point your shell to minikube's docker-daemon, run:
REM @FOR /f "tokens=*" %i IN ('minikube -p minikube docker-env') DO @%i
Run Code Online (Sandbox Code Playgroud)
并且我将 docker daemon 的 ip 地址设置为上述DOCKER_HOST值,而不是localhost我可以使用本地构建的 docker 图像而不会出错。但是在 minikube 仪表板的情况下,当我输入minikube dashboard命令时,IP 地址总是 localhost(127.0.0.1) 。所以我无法生成 kubernetes 命名空间和持久卷。它抛出错误
服务器找不到请求的资源
我认为这个问题是不同IP地址的授权问题。如何在 minukube 仪表板上配置静态或特定 ip 地址和端口号,以便我可以在 minikube 仪表板上生成命名空间和持久卷而不会出现此类错误?
我正在minikube v1.15.1上MacOS和安装helm v3.4.1。我运行helm install elasticsearch elastic/elasticsearch --set resources.requests.memory=2Gi --set resources.limits.memory=4Gi --set replicas=1在 k8s 集群上安装 elasticsearch。Podelasticsearch-master-0已部署,但处于pending状态。
当我运行kubectl describe pod elasticsearch-master-0它给我以下警告:
Warning FailedScheduling 61s (x2 over 2m30s) default-scheduler 0/1 nodes are available: 1 Insufficient memory.
Run Code Online (Sandbox Code Playgroud)
它的方式,Insufficient memory但我的主机至少有 4GB 可用内存。内存问题是否意味着minikube没有足够的内存?如果是,我怎样才能增加它的内存?
我增加了 minikube 中的内存并重新启动了 minikube,但仍然存在相同的问题。
我确实minikube delete跟着跑了minikube start。您可以在下面看到它使用 4 个 CPU 和 8GB 内存的输出
minikube v1.15.1 on Darwin 11.0.1
? Automatically selected …Run Code Online (Sandbox Code Playgroud) 我试图了解 kubernetes 是如何工作的,所以我尝试为我的 minikube 执行此操作:
~ kubectl delete pod --all -n kube-system
pod "coredns-f9fd979d6-5n4b6" deleted
pod "etcd-minikube" deleted
pod "kube-apiserver-minikube" deleted
pod "kube-controller-manager-minikube" deleted
pod "kube-proxy-879lg" deleted
pod "kube-scheduler-minikube" deleted
Run Code Online (Sandbox Code Playgroud)
没关系。根据需要删除了 Pod。但如果我这样做,kubectl get pods -n kube-system我会看到:
NAME READY STATUS RESTARTS AGE
coredns-f9fd979d6-5d25r 1/1 Running 0 50s
etcd-minikube 1/1 Running 0 50s
kube-apiserver-minikube 1/1 Running 0 50s
kube-controller-manager-minikube 1/1 Running 0 50s
kube-proxy-nlw69 1/1 Running 0 43s
kube-scheduler-minikube 1/1 Running 0 49s
Run Code Online (Sandbox Code Playgroud)
好的。我以为是 ReplicaSet 或 DaemonSet:
? ~ kubectl …Run Code Online (Sandbox Code Playgroud) kubernetes ×10
minikube ×10
kubectl ×3
docker ×2
hyper-v ×1
hypervisor ×1
permissions ×1
virtualbox ×1
windows ×1