Tag: kubernetes

如何提高Kubernetes的安全性尤其是跨Pods?

TL; DR Kubernetes允许所有容器访问整个集群上的所有其他容器,这似乎大大增加了安全风险。 如何缓解? 与Docker不同, Docker通常只允许需要通信的容器之间的networking连接(通过–link ), –link每个Pod可以访问该集群上的所有其他Pod 。 这意味着对于在Kubernetes上运行的标准Nginx + PHP / Python + MySQL / PostgreSQL,受损的Nginx将能够访问数据库。 人们曾经在单台机器上运行所有这些机器,但是那台机器会有严重的定期更新(不止是容器),对于严重的人来说,SELinux / AppArmor也是如此。 每个项目(如果你有不同的独立网站)都可以在自己的集群上运行,但是这似乎是浪费的。 目前的Kubernetes安全似乎是非常不完整的。 有没有一种方法可以为生产提供体面的安全保障?

kubernetes:PTY分配请求失败

当我尝试连接到作为容器运行的kubernetes master的节点时出现此错误:“PTY通道0上的PTY分配请求失败” 重现步骤: 我用OS X el Captain 10.11.1运行一个mac。 从oxboxes下载标准的centos 7.1。 从virtualbox 5.0.10开始。 1个natted界面。 1个端口从主机:2200->客人:22。 安装docker 1.9。 ssh进入centos 6运行以下(根据kubernetes用户手册): 6.a docker run –net = host -d gcr.io/google_containers/etcd:2.0.12 / usr / local / bin / etcd –addr = 127.0.0.1:4001 –bind-addr = 0.0.0.0: 4001 –data-dir = / var / etcd / data 6.b docker run –volume = /:/ […]

kubectl无法从私有存储库中提取图像

我正在运行kubeadm alpha版本来设置我的kubernates群集。 从kubernates,我试图拉着托pipe在nexus存储库中的docker图像。 当我试图创build一个豆荚时,它每次都给“ImagePullBackOff”。 有人可以帮我吗? 详情请见https://github.com/kubernetes/kubernetes/issues/41536 Pod定义: apiVersion: v1 kind: Pod metadata: name: test-pod labels: name: test spec: containers: – image: 123.456.789.0:9595/test name: test ports: – containerPort: 8443 imagePullSecrets: – name: my-secret

容器技术:docker,rkt,orchestration,kubernetes,GKE和AWS Container Service

我试图很好地理解容器技术,但有点困惑。 似乎某些技术与堆栈的不同部分重叠,并且DevOps团队认为适合使用不同技术的不同部分(例如,可以使用Docker容器,但不必使用Docker引擎,可以使用来自云提供程序的引擎代替)。 我的困惑在于理解“容器堆栈”提供的每一层以及每个解决scheme的关键提供者是谁。 这是我的外行的理解; 我会理解的任何更正和反馈漏洞的理解 容器:自包含的软件包,包括应用程序,运行时环境,系统库等。 像一个应用程序的迷你操作系统 Docker似乎是事实上的标准。 任何其他显着和广泛使用? 容器群集:共享资源的容器组 容器引擎:将容器分组成集群,pipe理资源 Orchestrator:这与容器引擎有什么不同? 怎么样? Docker Engine,rkt,Kubernetes,Google Container Engine,AWS Container Service等位于#2-4之间?

如何在Kubernetes上设置Mongo副本集?

我想在Kubernetes上设置Mongo副本。 我想有三个副本。 这意味着我需要启动3个实例。 我是否应该启动三个豆荚,每个豆荚都配有Mongo,并使用该服务指向小学? 或者我应该使用复制控制器?

开发机器作为Minikubenetworking的一部分?

是否有可能让我的开发机器成为Minikubenetworking的一部分? 理想情况下,它应该同时工作: 在我的IDE中开发一个应用程序时,我可以使用与pod使用相同的地址访问Minikube中的k8s资源。 运行在Minikube中的Pod可以访问我在IDE中运行的应用程序,例如通过HTTP请求。 这听起来像是使用networking路由的GCE上的第一部分是可行的,所以我想知道是否可以在本地使用Minikube进行操作。

如何发送基于Kubernetes / Docker事件的警报?

是否有可能以某种方式基于Kubernetes集群中发生的事件发送警报(电子邮件/闲置)? 尤其是,如果吊舱意外重新启动或者吊舱无法启动,那么获得警报将非常有用。 同样,知道某个pod的CPU使用率是否超过某个阈值并获得警报会很有用。 我们安装了Heapster(与InfluxDB / Grafana后端)。 虽然这给了有用的数据,但不幸的是我们没有提供警报。

在CoreOS上运行Kubernetes示例,第1部分不起作用

我试图评估Kubernetes 。 我有意在CoreOS集群上挂载kubernetes,并且官方文档没有太多,只有两个引用到CoreOS的博客; 我目前正在使用指南在CoreOS部分1上运行kubernetes例子 。 我的apiserver.service: [Unit] ConditionFileIsExecutable=/opt/kubernetes/bin/apiserver Description=Kubernetes API Server [Unit] ConditionFileIsExecutable=/opt/kubernetes/bin/controller-manager Description=Kubernetes Controller Manager Documentation=https://github.com/GoogleCloudPlatform/kubernetes [Service] ExecStart=/opt/kubernetes/bin/controller-manager \ –etcd_servers=http://127.0.0.1:4001 \ –master=127.0.0.1:8080 \ –logtostderr=true Restart=on-failure RestartSec=1 [Install] WantedBy=multi-user.target Documentation=https://github.com/GoogleCloudPlatform/kubernetes [Service] ExecStart=/opt/kubernetes/bin/apiserver \ –address=127.0.0.1 \ –port=8080 \ –etcd_servers=http://127.0.0.1:4001 \ –machines=127.0.0.1 \ –logtostderr=true Restart=on-failure RestartSec=1 [Install] WantedBy=multi-user.target 我的controller-manager.service: [Unit] ConditionFileIsExecutable=/opt/kubernetes/bin/controller-manager Description=Kubernetes Controller Manager Documentation=https://github.com/GoogleCloudPlatform/kubernetes [Service] ExecStart=/opt/kubernetes/bin/controller-manager […]

Kubernetes:使用NFS的dynamic持久卷configuration

我有多节点kubernetes设置。 我正在尝试使用带有NFS卷插件的存储类dynamic分配持久卷。 我发现glusterfs,aws-ebs等存储类的例子,但是,我没有find任何NFS的例子。 如果我创buildPV和PVC,那么NFS工作得很好(没有存储类)。 我试图通过引用其他插件来编写NFS的存储类文件。 请参阅下面, NFS的存储class.yaml kind: StorageClass apiVersion: storage.k8s.io/v1beta1 metadata: namespace: kube-system name: my-storage annotations: storageclass.beta.kubernetes.io/is-default-class: "true" labels: kubernetes.io/cluster-service: "true" provisioner: kubernetes.io/nfs parameters: path: /nfsfileshare server: <nfs-server-ip> NFS-PV-claim.yaml apiVersion: v1 metadata: name: demo-claim annotations: volume.beta.kubernetes.io/storage-class: my-storage spec: accessModes: – ReadWriteOnce resources: requests: storage: 3Gi 它没有奏效。 所以,我的问题是,我们可以写一个NFS的存储类? 它是否支持dynamic规定?

Docker内部kubernetes pod失败,“找不到桥docker0”

我将我们的构build代理移到了Kubernetes / Container Engine中。 他们曾经在container vm(version container-vm-v20160321)上运行,并将docker.sock安装到docker容器中,以便我们可以从容器内运行docker build 。 这使用了以下清单: apiVersion: v1 kind: Pod metadata: name: gocd-agent spec: containers: – name: gocd-agent image: travix/gocd-agent:16.8.0 imagePullPolicy: Always volumeMounts: – name: ssh-keys mountPath: /var/go/.ssh readOnly: true – name: gcloud-keys mountPath: /var/go/.gcloud readOnly: true – name: docker-sock mountPath: /var/run/docker.sock – name: docker-bin mountPath: /usr/bin/docker env: – name: "GO_SERVER_URL" […]