Tag: minikube

在minikube中的docker镜像的networking选项

我有一个Docker镜像(usermanagement:latest),通常我在本地testing时通过这种方式创build容器: docker run –net "host" -p 8096:8096 -v $(pwd):/etc usermanagement:latest -port 8096 -configfile /etc/config port和configfile都有默认值,端口的默认值是8096。 然后我可以简单地通过localhost:8096/1/users/some_api来访问它。 这使我能够灵活地创build许多容器,听取不同的端口的相同的图像。 现在,我已经把这个图像放到一个私有的registry中,并且想要使用也可以访问registry的minikube(一切正常)。 问题是我无法弄清楚如何在创buildKubernetes部署时指定networking选项( –net或-p )甚至是卷选项( -v )。 我试过了: kubectl run usr –image=$REGISTRY_IP:80/usermanagement:latest –port=8096 kubectl expose deployment usr –target-port=8096 –type=NodePort 其中REGISTRY_IP是私有registry的IP,图像已经从该registry中拉入到minikube的泊坞窗中。 我已经validation了服务被创build和暴露,但我无法达到(获得404)容器在minikube使用: curl -v http://192.168.42.149:31900/1/users/some_api 以上服务的IP和端口来自: kubectl get svc usr minikube ip 任何帮助表示赞赏。

在Minikube中创build部署时指定nodeport

这个要求主要针对开发环境。 当我更新一个Docker镜像,通过Minikube创build和展示部署时,我必须删除并重新创build这个部署和服务。 但是,我想维护分配给该特定服务的同一个nodeport。 我知道,如果离开Minikube,一个随机端口被分配。 但是,我可以指定的NodePort? 我使用以下Yaml文件创build部署,并通过expose命令公开该服务。 apiVersion: extensions/v1beta1 kind: Deployment metadata: name: dpl_name spec: template: metadata: labels: app: app_name spec: containers: – name: ctr_name image: 192.168.42.22:80/imagename:latest ports: – containerPort: 8090 volumeMounts: – mountPath: /var/containerdata name: vlm volumes: – name: vlm hostPath: path: '/data/vlm'

通过它的名字而不是它的VIP访问服务

我的印象是,我可以使用其名称访问集群内其他容器的服务(在这种情况下恰好是NodePort端口)。 $ kubectl get svc NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc 10.0.0.235 <nodes> 8090:30062/TCP 6s 我可以做这个: $ minikube ssh $ curl -v -H "Content-Type: application/json" http://10.0.0.235:8090/some_api 它工作正常。 但我不能这样做: $ curl -v -H "Content-Type: application/json" http://svc:8090/some_api 我错过了什么吗? 我是否需要在Minikube中configuration某些内容才能实现此目的? 同样,我的search使我相信这个映射(用于名称parsing)是在我创build服务时自动configuration的。

无法使用minikube从MongoDB使用挂载的主机目录

我目前正在用MongoDBtestingminikube(v0.18.0),我想在MongoDB( /data/db )和本地主机(Mac)之间共享目录。 我跑了 $ mkdir /Users/minikube/mongodb $ minikube start –vm-driver=xhyve $ minikube mount /Users/minikube/ 然后创build一个像MongoDB的pod apiVersion: extensions/v1beta1 kind: Deployment metadata: name: mongodb spec: replicas: 1 template: metadata: labels: app: mongodb spec: containers: – name: mongodb image: mongo:3.0.14 imagePullPolicy: IfNotPresent ports: – containerPort: 27017 volumeMounts: – mountPath: /data/db name: datadir command: ["mongod"] args: – '–smallfiles' […]

Kubernetes中的多节点Hadoop

我已经安装了minikube单节点Kubernetes集群,我只想在这个kubernetes节点内部署一个多节点hadoop集群的帮助,我需要一个起点!

无法通过从外部私有registry中提取图像来启动minikube中的窗格

我的笔记本电脑上安装了一个ubuntu。 我开始了一个私人dockerregistry(ssl启用+ htpasswd安全),并将其添加到覆盖networking(所以它可以从其他主机/ vms访问) 这里是代码(docker-compose.yaml): version: "3" services: registry: restart: always image: registry:2 ports: – 5000:5000 environment: REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt REGISTRY_HTTP_TLS_KEY: /certs/domain.key REGISTRY_AUTH: htpasswd REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm volumes: – /certs:/certs – ~/caas_rd/workspace/ci_cd_pipeline/registry_setup:/auth networks: – overlaynetwork networks: overlaynetwork: 所以我的registry运行在以下链接(与DNS,我可以validation它在浏览器中): https:// home-thinkpad-t420s:5000 / v2 / _catalog 现在我在笔记本电脑上安装了“Minikube”。 &&ssh它由“minikube ssh”。 我在minikube vm上创build了一个文件夹“/etc/docker/certs.d”,按照说明添加了证书: https://docs.docker.com/engine/security/certificates/#understanding-the-configuration 我还在/etc/ssl/certs/ca-certificates.crt上修改了/ etc / hosts […]

无法使用kompose从docker-compose转换为kubernetes

我有docker-compose安装准备好的项目。 现在我想搬到kubernetes。 我使用Kompose工具从docker-compose转换为kubernetes。 例如,这里是我的示例docker-compose.yml文件 version: '3' volumes: database_hades_volume: external: true services: db: image: postgres:latest container_name: hades-db ports: – "5432:5432" environment: POSTGRES_DB: hades_dev POSTGRES_PASSWORD: 1234 volumes: – database_hades_volume:/var/lib/postgresql/data/ tty: true stdin_open: true redis: container_name: hades-redis image: redis:latest ports: – "6379:6379" app: container_name: hades-app build: context: . dockerfile: Dockerfile ports: – "4001:4001" volumes: – ".:/webapp" env_file: – […]

在Kubernetes(Minikube)上通过HTTPS公开服务

我是Kubernetes noob,目前在MAC上本地运行Kubernetes集群(Minikube)。 当我启动minikube,并启用仪表板,仪表板可以通过普通的HTTP使用http://192.168.99.100:30000 。 我有几个豆荚正在运行,其中一些有我需要暴露在外面的服务。 例如,我可以使用以下configuration通过常规的HTTP公开一个rails api: # service.yml apiVersion: v1 kind: Service metadata: name: myservice labels: app: myapp spec: ports: – protocol: TCP name: "3000" port: 3000 targetPort: 3000 nodePort: 31000 selector: app: myapp type: LoadBalancer sessionAffinity: None externalTrafficPolicy: Cluster status: loadBalancer: {} 然后我可以从http://192.168.99.100:31000从外面访问rails api。 我的问题是这个。 如果minikube通过普通的HTTP服务,有没有办法公开一个HTTPS服务(在一个窗格中运行)? 我已经尝试公开端口443(在service.yml ),并通过https://192.168.99.100:31XXX访问安全服务,但似乎没有工作。 kubectl实际上在创build服务时不会出现任何错误,所以很难排除故障。 任何帮助表示赞赏。

minikube + Docker的容量?

使用Mac上常规的本地Docker,没有minikube,我可以从https://docs.docker.com/engine/admin/volumes/volumes/#start-a-container-with-a-volume 跑: docker run -d \ -it \ –name devtest \ –mount source=myvol2,target=/app \ nginx:latest 然后我可以运行docker inspect devtest ,看到挂载已经创build: "Mounts": [ { "Type": "volume", "Name": "myvol2", "Source": "/var/lib/docker/volumes/myvol2/_data", "Destination": "/app", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" } ], 我可以运行myvol2 docker volume ls并查看myvol2 如果我正在使用最新的minikube,目前v0.22.3,新鲜的minikube本地VM: minikube delete rm -rf ~/.kube rm -rf ~/.minikube minikube start […]

无法启动minikube

我无法启动minikube。 一切似乎都好,但是 当我打开VirtualBox,然后点击“minikube”,它显示这个… 我看到第一张照片,minikube甚至5分钟后也没有configuration。 那么,我怎样才能configurationminikube?