Tag: minikube

如何从docker集装箱rsync同步到我的主机

我目前的开发环境允许每当更改一个文件(即nodemon / webpack )时自动重新加载代码。 不过,我正在build立一个kubernetes ( minikube )环境,以便我可以立即快速开启3-4个相关的服务。 一切工作正常,但目前不做自动代码重新加载。 我尝试装入卷,但与docker和virtualbox处理文件的方式存在一些冲突,导致冲突导致主机上的文件更改未反映在docker容器中 。 (这不是我看到的与这个问题有关的第一个链接,这是我在第一天用googlesearch的第一个链接)… 不pipe怎么说,长话短说,脂肪酶在开发中遇到麻烦。 我发现这个问题在整个interweb中都很less见解决scheme。 我会说我迄今为止发现的最好的解决scheme是这个人使用主机中的tar来同步文件夹。 不过,我想从容器的解决scheme。 原因是我想从容器中运行脚本,以便开发人员不必在每次开始开发特定的回购站时在主机上运行一些脚本。 为了做到这一点,但是我需要运行rsync从容器到主机。 而且我很难找出如何为其编写语法。 假设我的应用程序存在于我的容器和主机中,分别为: /workspace/app # location in container /Users/terence/workspace/app # location in host computer 我如何从容器到主机的rsync? 我试过使用172.17.0.17和127.0.0.1无济于事。 不完全确定是否有办法做到这一点? 我试过的例子: rsync -av 172.17.0.17:Users/terence/workspace/app /workspace/app rsync -av 127.0.0.1:Users/terence/workspace/app /workspace/app

Kubernetes PersistentVolume和PersistentVolumeClaim可能会导致我的pod在复制日志时崩溃

我有一个PersistentVolume,我指定如下: apiVersion: v1 kind: PersistentVolume metadata: name: mypv-shared spec: accessModes: – ReadWriteMany capacity: storage: 5Gi hostPath: path: /data/mypv-shared/ 然后我创build了一个具有以下规格的PersistentVolumeClaim: apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mypv-shared-claim spec: accessModes: – ReadWriteMany resources: requests: storage: 5Gi 但是当我创buildPVC时,运行kubectl get pv显示它绑定到一个随机生成的PV NAME CAPACITY ACCESSMODES RECLAIMPOLICY STATUS CLAIM STORAGECLASS REASON AGE pvc-38c77920-a223-11e7-89cc-08002719b642 5Gi RWX Delete Bound default/mypv-shared standard 16m 我相信这是我的豆荚运行testing时造成的问题,因为我不知道该豆荚是否正确安装指定的目录。 […]

工作者节点总是在Kubernetes中显示NotReady状态

当我joinKubernetes集群中的工作节点时,工作节点的STATUS显示为NotReady ,节点的ROLE显示为无 (用命令kubectl get nodes )。 我使用的Kubernetes版本在主节点和工作节点上都是v1.8.2 。 我使用的Docker版本是17.03.1-ce 。 Kubletloginworker节点如下: Nov 07 10:57:03 xyz.com kubelet[26351]: E1107 10:57:03.587712 26351 kuberuntime_image.go:126] Remove image "sha256:7b9d24c898ae4ec4882eb8f60f75b9ae3fb753b5e078ecd7b310df8bfbfb9f11" failed: rpc error: code = Unknown desc = Error response from daemon: reference does not exist Nov 07 10:57:03 xyz.com kubelet[26351]: I1107 10:57:03.587729 26351 image_gc_manager.go:350] [imageGCManager]: Removing image "sha256:637ee73c524b815fcb40b6d4056af8ad92cf4adc1e9ecedbb4f98964fae8c9b1" to free 88610277 […]

Kubernetes反复拉图像,并坚持创build容器

我试图创build一个单实例有状态的应用程序的行https://kubernetes.io/docs/tasks/run-application/run-single-instance-stateful-application/ ,除了我想使用Oracle数据库。 我运行W10并使用Minikube来设置群集,Hyper-V作为驱动程序,并且我还为Minikube创build了一个虚拟交换机。 我相应地编辑了部署YAML以使用Oracle数据库镜像和端口,并为Docker Hub添加了一个拉密(因为Oracle希望您login以拉取图像)。 最后的YAML: apiVersion: v1 kind: Service metadata: name: orcldb spec: ports: – port: 1521 name: sqlnet – port: 5500 name: oraclexml selector: app: orcldb clusterIP: None — apiVersion: v1 kind: PersistentVolumeClaim metadata: name: orcldb-pv-claim spec: accessModes: – ReadWriteOnce resources: requests: storage: 5Gi — apiVersion: apps/v1beta2 kind: Deployment metadata: name: orcldb spec: […]

Minikube没有在Windows 10上启动

我刚开始使用Windows 10上的kuberneted。我从这里下载了这些位。 当试图从powershell启动minikube: PS C:\WINDOWS\system32> minikube start –vm-driver=hyperv 我遇到了这个错误: Starting local Kubernetes v1.8.0 cluster… Starting VM… E1202 06:53:29.869106 2368 start.go:150] Error starting host: Error starting stopped host: exit status 1. 虽然文档没有提到运行minikube的任何先决条件,是否有任何Windows 10的设置需要改变,使其运行?

从本地docker不安全的Dockerregistry中提取图像到Kubernetes

无法从Minikube内部的本地docker insecuredregistry库中提取图像。 我在Windows 7下使用安装在Oracle VirtualBox 5.1.6上的Linux VM(Upstart)运行Docker-toolbox v1.12.2。 我创build了一个docker镜像,并将其push(tag,然后推送)到192.168.99.100:5000/image/name上运行的本地不安全的docker-registry v2中。 docker run -d -p 5000:5000 –restart=always –name registry registry:2 和VM内,在/ var / lib / boot2docker /configuration文件我已经添加到EXTRA_ARGS该标志 –insecure-registry 192.168.99.100:5000 。 docker push和docker pull从localhost:5000/image/name在Docker(VM)中工作正常。 _catalog可以从邮递员: GET http:192.168.99.100:5000/v2/_catalog和我能够得到registry中的图像。 我正在用命令启动我的Minikube v0.15.0 VM: minikube start –insecure-registry=192.168.99.100:5000 我在公司PROXY下,所以我已经在命令行(CMD)中添加了代理: set HTTP/HTTPS_PROXY=my.company.proxy:8080并set NO_PROXY={minikube ip} 。 然后Kubernetes仪表板开始为我工作。 现在对于真正的问题,运行命令时: kubectl run image-name –image=192.168.99.100:5000/image/name –port=9999将我的本地dockerregistry中的图像拖入Kubernetes中 部署“image-name”创build […]

当另一个变化发生时,重新启动Kubernetes吊舱

两个pods app和postgres被成功创build,并且能够通过节点中的对方的服务进行通信。 在当前的过程中,两个豆荚同时被创build,但是可以被改变为使它们按顺序被创build/开始。 最初, postgres窗格中的数据库容器是空的,需要播种。 种subprocess通过app窗口,因此,它也需要启动和运行。 一旦postgres播种, app仍然不知道这个新的数据,并需要重新启动。 这是app本身的一个缺陷,我控制不了。 现在,这个过程是: kubectl create -f pods.yaml # creates `app` and `postgres` pods kubectl exec app — bash -c "<seed command>" kubectl delete pod app sleep 45 # takes a while for `app` to terminate kubectl create -f pods.yaml # Ignore the "postgres pod and service already exist" […]

minikube服务%servicename%–url什么都不返回

我试图揭露我的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 […]

如何在kubernetes中包含mongo图像的数据

我试图让我的应用程序运行在minikube上,在minikube的IP地址可到达。 下面是我正在使用它来运行的命令。 这一切都按我想要的方式工作(如果我尝试login,它会返回预期的401,因为mongo数据库是空的)。 我想实际上在我的应用程序中包含一个数据库,比如现有的用户。 我无法find一个清楚的方式来说明如何在我正在做的事情中包含数据(比如在一个与mongo一起工作的tar文件中)。 我怎样才能做到这一点? ### Get mongo up docker pull mongo:3.2 kubectl run mongo –image=mongo:3.2 –port=27017 kubectl expose deployment mongo ### Get API up cd /api docker build -t api:v1 . kubectl run api –image=api:v1 –port=3000 –env="MONGODB_URI=mongodb://mongo:27017/myapp-dev" kubectl apply -f api-deployment.yml kubectl expose deployment api –type=LoadBalancer ### Get dashboard up docker build -t […]

Kubernetes / minikube无法在同一集群中ping pod,但nslookup可以正常工作

minikube版本⏎minikube版本:v0.22.3 我正在尝试在minikube实例中设置各种豆荚。 我正在运行一个公司代理,这可能会解释一些这种行为。 我使用以下命令启动minikube minikube start –docker-env HTTP_PROXY = http://corporate-proxy.com:80 –docker-env HTTPS_PROXY = https:// corporate-proxy:80 –docker-env NO_PROXY = localhost,127.0.0.0 / 8,192.0 .0.0 / 8 否则它不会工作。 在Docker上构build一些图像之后,我创build了两个服务和两个窗格: — apiVersion: v1 kind: Pod metadata: name: app labels: name: app spec: containers: – name: app image: image_app ports: – containerPort: 7777 volumeMounts: – mountPath: /codeage name: code-volume readOnly: […]