Articles of kubernetes

Kubernetes /法兰绒doens't在私人networking工作

我能够在专用群集/云上运行kubernetes(通过kubeadm),而不会在群集中的节点访问互联网时出现问题(所有节点都连接到哑线交换机,然后网线连接到网关)。 如果我删除networking电缆,使节点访问互联网,然后尝试再次设置我的群集和容器。 我在法兰绒上看到以下错误: I0720 21:55:48.351628 1 main.go:459] Using interface with name eth2 and address 192.168.10.1 I0720 21:55:48.351782 1 main.go:476] Defaulting external address to interface address (192.168.10.1) E0720 21:55:48.358553 1 main.go:223] Failed to create SubnetManager: error retrieving pod spec for 'kube-system/kube-flannel-ds-zr17s': Get https://10.96.0.1:443/api/v1/namespaces/kube-system/pods/kube-flannel-ds-zr17s: dial tcp 10.96.0.1:443: connect: network is unreachable 我很难理解为什么法兰绒需要访问互联网? 仅供参考,当通过交换机连接时,我可以在没有问题的情况下使用静态IP在节点之间进行通信

适用于kubectl日志和kubectl exec的AWS安全组

我从堡垒服务器运行kubectl 。 get , apply等工作正常。 logs和exec只是挂了很多年,然后吐出一个错误。 kubectl –v=7 logs [podname] … I0809 10:42:37.893788 17434 round_trippers.go:393] Accept: application/json, */* I0809 10:44:37.545555 17434 round_trippers.go:408] Response Status: in 119651 milliseconds I0809 10:44:37.545617 17434 helpers.go:225] Connection error: Get https://rancher.domain.io/r/projects/1a598/kubernetes:6443/api/v1/namespaces/default/pods/pod/log: EOF F0809 10:44:37.545627 17434 helpers.go:120] Unable to connect to the server: EOF 所以现在在AWS中,我决定让所有主机相互通信。 为了简洁起见,在地形格式中: # This doesn't work ingress { […]

限制PVC到单个吊舱

我创build了一个PVC(R​​eadWriteOnce),然后在两个窗格中成功使用它。 我曾经期待一旦一个吊舱使用了这个声明,那么这个吊舱就会被绑定,直到吊舱释放它为止。 但是,第二个吊舱安装的音量很好。 有没有办法一次限制一个PVC的PVC? 我想知道如何避免数据损坏的情况下,PVC从来没有意图被超过一个容器使用。 该文件提到“一旦用户有一个要求,并声称是有约束力的,绑定PV属于用户只要他们需要它”。 “用户”的用法令人困惑,这是什么意思? 这在一个运行1.7.4的Minikube集群上进行了testing

在成功部署StatefulSet后运行任务

我有一个应用程序在Kubernetes 1.7中使用StatefulSets进行部署。 在所有的pods成功部署之后,我需要在这些实例上运行一些命令。 基于StatefulSet状态有条件地运行命令的最好方法是什么? 是否有一个Kubernetes原始,让我指定的条件,或者我必须自动化这个外部?

如何将kubeadm部署的Kubernetes中的kube-apiserver绑定到0.0.0.0地址?

我有一个kubernetes集群部署kubeadm kube-apiserver只听192.168.200.2 。 我想在0.0.0.0听。 在常规的Kubernetes设置(即由kubeadm部署的节点)中,将通过更改/etc/kubernetes/apiserver 。 但是这在kubeadm创build的设置中不起作用。 我已经尝试添加在/etc/kubernetes/manifests/kube-apiserver.yaml添加行设置–bind-address /etc/kubernetes/manifests/kube-apiserver.yaml –bind-address参数,但是这种改变只是阻止它完全工作。 apiVersion: v1 kind: Pod metadata: annotations: scheduler.alpha.kubernetes.io/critical-pod: "" creationTimestamp: null labels: component: kube-apiserver tier: control-plane name: kube-apiserver namespace: kube-system spec: containers: – command: – kube-apiserver – –allow-privileged=true – –experimental-bootstrap-token-auth=true – –requestheader-allowed-names=front-proxy-client – –service-account-key-file=/etc/kubernetes/pki/sa.pub – –proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt – –admission-control=Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,ResourceQuota – –requestheader-extra-headers-prefix=X-Remote-Extra- – –client-ca-file=/etc/kubernetes/pki/ca.crt – –kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key – –secure-port=6443 […]

如何让Kubernetes在没有“通过端口8080连接”错误的情况下工作?

我在RHEL 7.x中安装了Kubernetes。 我期望kubectl命令工作没有错误。 端口8080没有被阻止从我的客户端工作站到带有Kubernetes的RedHat服务器。 我尝试了几件事来诊断问题。 我运行这个命令(重现问题):kubectl版本 我看到了这个: GitTreeState:“clean”,BuildDate:“2017-08-31T09:14: 02Z“,GoVersion:”go1.8.3“,编译器:”gc“,平台:”linux / amd64“}与服务器localhost:8080的连接被拒绝了 – 你指定了正确的主机还是端口? 关于港口被拒绝的错误令我困惑。 我运行了这个命令:nmap -p 8080 localhost 它显示端口8080仅仅是closures的 – 但没有被阻塞。 我在/ etc / kubernetes /中没有admin.conf文件。 我做错什么了吗? 我怎样才能使用kubectl命令而不会得到错误“连接到服务器localhost:8080被拒绝 – 你指定了正确的主机或端口? 我运行的每一个kubectl命令都会返回这个错误。 我如何获得admin.conf文件? 我正在考虑尝试安装gcloud。 但“sudo yum安装gcloud”没有工作。 该包无法find。 也许我不需要打扰admin.conf或gcloud实用程序。 如何让kubectl命令在端口8080上没有连接被拒绝的错误的情况下工作?

GKE pod无法提出任何DNS请求

我有一个运行在Google容器引擎(GKE)上的web服务器部署的kubernetes集群。 部署有两个副本窗格,其中一个无法进行任何DNS查询,无论是查询内部服务还是外部网站。 每个容器的容器都基于Ubuntu 16.04,并且我已经validation两个容器中的/etc/resolv.conf是相同的。 坏的pod仍然可以通过ip地址到达外部网站。 kube-dns服务似乎正在运行,我没有看到日志中的任何错误。 还有什么我可以做的尝试诊断问题? 不幸的是,docker映像上没有很多networking工具,我不能apt-get安装任何东西,因为apt无法parsing软件包pipe理器的主机名。 编辑:我发现kube-proxy不存在于坏pod所在的节点上。 这可能解释了DNS失败,但我不知道为什么kube-proxy会从节点丢失!

带有VPN的Google容器引擎

尝试通过Google云端VPN访问本地数据库。 GCP中的服务在GKE上以k8s运行。 从这里不能使用CIDR方法: GKE吊舱通过VPN连接? 因为指定的范围太大。 如何设置NATconfiguration以允许从k8s服务访问VPN设备。

Kubernetes – 如何使用多个外部IP

我开始学习Kubernetes,还有一件事我目前不明白。 比方说,我有三个虚拟机(VMware)与一些独特的外部IP(比如X,Y,Z IP地址)。 假设我们要在端口80上公开3个不同的网站。比方说,我们希望在每个IP地址上都有每个网站。 如果不使用Kubernetes,我可以简单地在每台机器上创buildDocker容器并轻松地将其暴露。 (X:80,Y:80,Z:80) 我怎样才能用Kubernetes来解决这个问题? 如果没有Kubernetes,上面描述的解决scheme是什么? 有Ingress ,但它需要像X:80,X:80 / secondsite,X:80 / thirdsite。 如果我需要比虚拟机更多的IP地址,那么这个问题如何解决呢? 是否可以将IP地址范围分配给单个虚拟机,并将其与Ingress或以其他方式一起使用? 如果这些问题看起来微不足道,我很抱歉,但是我会很乐意为我提供一些方向的答案。

OpenShift安装和Kubernetes依赖

我们是否需要安装和工作的kubernetes来安装OpenShift,或者现在是独立的解决scheme? 在任何示例安装过程中,我都没有看到任何有关它的信息,例如: https://github.com/openshift/origin/blob/master/docs/cluster_up_down.md或在这里: https : //docs.openshift.org/latest/install_config/install/advanced_install.html