Tag: kubernetes

如何在创buildKubernetes yaml文件之前获取群集IP信息?

我有一个Docker容器,需要在Kubernetes中运行,但在其参数中,需要容器的Cluster IP信息。 我怎样才能用这个信息写一个Kubernetes yaml文件? # I want docker to run like this docker run … –wsrep-node-address=<ClusterIP> # xxx.yaml apiVersion: v1 kind: Pod metadata: name: galera01 labels: name: galera01 namespace: cloudstack spec: containers: – name: galeranode01 image: erkules/galera:basic args: # Is there any variable that I can use to represent the # POD IP or CLUSTER […]

minikube从Centos7开始

我试图在VirtualBox 5.1上启动centos 7上的minikube,但它给了我这个错误: E0823 19:26:32.888702 40645 start.go:129] Error starting host: Error creating host: Error executing step: Running precreate checks. : This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory. 如果您有任何build议,请如何解决,给我几个build议。 谢谢。

Kubernetes,Docker和SSL

我是Kubernetes和Docker的新手,我很难find这些服务是否提供我正在寻找的function。 我的目标是在一个Docker容器中托pipe一个Node.JS网站服务器,并让Kubernetes扩展该容器,以便将负载与网站匹配,并将负载平衡到这些容器。 这些技术显然是可能的。 但是,我会在哪里解决SSL证书的问题? 我在Kubernetes做这个吗? 我在Docker中做这个吗? 我想要像正常一样redirectHTTP – > HTTPS。 我已经有了没有任何这些技术的pm2上正常工作的SSL证书。 不知道如何前进,而且Kuburetes和Docker对他们有很多select,我不想四处搜寻,希望find合适的解决scheme。 任何人都可以帮助我指出正确的方向吗? 谢谢!

容器的退出代码如何在kubernetes集群上生效

我想知道容器的退出代码如何在kubernetes集群上生效,如果有人帮忙解释,我将非常感激。 情景如下。 我想减less服务的副本,并期望kubernetes通过显式处理SIGTERM来删除将正常closures的pod。 但是,容器有可能会以非零退出码停止。 所以,我的问题是容器的非零退出代码会对kubernetes集群造成不良影响吗? 官方文档或源代码的解释将非常赞赏。

Docker卷vs Kubernetes数据库持久卷

Docker映像和Kubernetes集群都有机制来configuration主机上的持久性存储,单独的容器,或只是某种forms的云/networking存储机制。 我正试图理解它们在用例中的不同之处,以及为什么要使用它们。 对于上下文,我还在考虑事务性数据库持久性,而不是日志文件或共享文件/文件夹访问。 提前致谢!

如何使用https调用kubernetes api服务器

我在Linux服务器上有两个节点的kubernetes集群,我使用kubernetes api通过kubeproxy使用http api来获取关于它们的统计信息。 不过,我还没有find任何有关如何使用https的好文档。 我在设置环境方面有点新,所以很多高层次的文档都在我身上。

Kubernetes荚没有开始

kubectl run ls –image = tomcat –command – pwd 使用以下命令启动一个窗格。 这是使用kubectl decribe豆荚的结果 事件: FirstSeen LastSeen Count From SubObjectPath Type Reason Message ——— ——– —– —- ————- ——– —— ——- 26s 26s 1 default-scheduler Normal Scheduled Successfully assigned ls-2648590517-hvnrr to minikube 26s 26s 1 kubelet, minikube Normal SuccessfulMountVolume MountVolume.SetUp succeeded for volume "default-token-3px95" 25s 20s 2 […]

使用BlueMix容器registry服务而不运行本地docker

我正在使用Minikube来testing在IBM Bluemix kubernetes服务中部署的所有内容。 我有我的Macbook泊坞窗环境configuration为使用Minikube,我不启动标准的基本Docker守护进程/服务在我的MacBook。 我只是: eval $(minikube docker-env) 它工作的很好,我在Minikube中使用相同的yaml文件比我应用到Bluemix,因为我使用Docker和Minikube图像registry。 问题:当我尝试login到BX CR从Minikuberegistry中推送图像时,我得到: MacBook-Pro:Docker and Kubernetes icordoba$ bx cr login Logging in to 'registry.ng.bluemix.net'… FAILED Failed to 'docker login' to 'registry.ng.bluemix.net' with error: Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?). Using system […]

构builddockerfile时的安全限制

我工作的公司(严格监pipe/审计环境)尚未接受集装箱,但希望将其用于某些应用。 有一种观点认为,当图像构build过程以root身份发出命令(或者可以被用户通过使用USER命令覆盖)时,该构build(不运行)容器在构build期间实际上给予用户作为根的无限制访问处理。 这是对他们的诅咒,违背了公司的各种政策。 通过PowerBroker访问某些计算机的命令是受到限制的,即对某些命令的访问需要明确的许可,并被logging/接受审计。 我们需要允许容器图像由CI / CD系统构build,并且理想地允许开发人员能够在本地构build容器。 容器通常在Kubernetes中运行,但也可以直接在VM上运行。 我希望能够让CI构build代理按需启动,因为有很多开发人员,所以我想在Kubernetes中运行构build过程。 在这种环境下build造docker集装箱的最佳做法是什么? 我们是否应该限制访问Dockerfile中的命令? 我目前对这种方法的思考: CI / CD: 定义“公司认可的”图像作为Kubernetes内的构build代理。 构build映像定义构build过程作为(不是根)运行的用户。 构build代理映像包含PowerBroker,可以locking对敏感命令的访问。 扫描docker文件以使用用户命令并禁止此操作。 构build代理运行docker-in-docker,如下所示( https://applatix.com/case-docker-docker-kubernetes-part-2/ )。 这实现了多个构build实例之间的隔离,同时确保通过Kubernetes控制所有容器。 通过OpenSCAP或类似的方式扫描图像以确保安全。 通过扫描是构build过程的一部分。 通过扫描允许将图像标记为符合并推送到registry。 我对这个想法感到不舒服(4),因为这看起来有点规则上的限制(也就是说这是一种黑名单方法),我相信肯定有更好的办法。 开发人员的本地主机: 定义“公司认可的”基础图像(在受信任的registry中标记)。 图像定义了构build过程作为(不是根)运行的用户。 基本映像包含PowerBroker,可以locking对敏感命令的访问。 在包装docker build localhost上创build包装脚本。 没有直接访问docker build :用户必须使用脚本。 通过PowerBroker访问脚本。 脚本也可以扫描docker文件来使用用户命令,并禁止这个。 将图像推送到registry需要标记,这需要通过OpenSCAP或类似的方式扫描安全合规性。 我想使用OpenSCAP结果和CI系统来创build存在的图像的审计跟踪; 类似的部署过程。 监视CVE等的安全团队应该能够理解存在和已经部署的容器,并且能够触发图像的重build以利用更新的库,或者在需要重build/重新部署容器时标记开发人员。 我希望能够certificate所有容器都符合本身定义为代码的安全configuration策略。 这是一个明智的方法吗? 甚至有允许用户无限制地构build(但不运行)容器图像的风险吗? 如果没有,那么确保愚蠢/恶意的开发人员没有在“已批准的基础映像”内部取消最佳实践的最佳方法是什么?除了手动代码审查之外(不pipe怎么说,这都是要做的,但可能会错过某些东西)? 顺便说一下,您必须假定所有的代码/图像都在内部/本地托pipe,即没有任何东西被允许使用基于云的产品/服务。

与Kubernetes和Gluster的GitLab HA

我目前在Docker上安装了GitLab综合设置。 我计划通过将它添加到Kubernetes来获得相同的HA,并使用Gluster进行持久化。 我曾经玩过GlusterconfigurationKubernetes。 现在是把GitLab带入Kubernetes的时候了。 GitLab使用PostgreSQL作为默认数据库。 我的查询是要实施医pipe局,我应该 a)将GitLab分割成GitLab应用程序和PostgreSQL容器,然后在自己的豆荚簇中运行(应用程序和数据库),即单独部署 GitLab应用程序和PostgreSQL副本? 要么 b)继续使用omnibus安装程序,只是复制这个单独的容器? 它是否真的有区别? 1)写入发生在通过服务暴露给GitLab应用程序的数据库集群 要么 2)写直接发生的综合GitLab容器(其中有自己的数据库) 只是想确保我不会不必要地使设置复杂。 在Kubernetes和Gluster一起使用GitLab已经使事情变得有点复杂。 那么分裂应用程序和数据库是有道理的,或者只是总括设置就足够了? 关心并发写入数据库。