我安装了gcloudsdk,一切正常。但是我正在尝试使用kubectl,它还没有安装
我运行以下命令:
gcloud components update preview
All components are up to date.
gcloud components update alpha
All components are up to date.
看来一切都是最新的。但是库贝特尔司令部不在那里
这不是路径问题,因为我在gcloud的bin文件夹中检查了该文件,该文件与其他安装中正确安装的
我的kube代理中有错误:
E0107 21:48:57.738867 1 proxysocket.go:160] I/O error: read tcp 10.2.11.253:37568: connection reset by peer
如何快速跟踪哪个pod具有IP10.2.11.253?我怎么知道是哪个请求,从哪个吊舱到哪个吊舱
或者我们可以将kube代理日志级别更改为verbose或debug吗
我收到了另一个错误,相同的连接重置错误,但IP是节点的IP
E0107 2
我目前在GKE(K8S1.2)上配置了一个入口,用于将请求转发到我的应用程序的POD。我有一个请求,可能需要很长时间(30秒)和应用程序超时(504)。我观察到,在这样做时,我收到的响应不是我自己的504,而是在60秒后从看起来像Google Loadbalancer的502
我玩过不同的状态代码和持续时间,正好在30秒后,我开始接收这种奇怪的行为,而不管发出的状态代码是什么
有人知道我怎么解决这个问题吗?有没有办法重新配置这种行为 在GKE上创建入口时,默认设置是使用您提供的后端创建GLBC
我遵照以下指示:
我需要在制作之前做些什么吗
git clone https://github.com/kubernetes/kubernetes
cd kubernetes
export KUBERNETES_CONTRIB=mesos
make
-bash-4.2$ pwd
~/kubernetes
-bash-4.2$ ls
api contrib federation Makefile relea
我想对500多个kubernetes吊舱运行tcpdump,采样30-120秒kubectl对抗单个吊舱效果很好:
$ kubectl exec -ti [POD NAME] timeout [SAMPLE TIME] tcpdump
...
real tcpdump output in stdout!
我想使用parallel,它提供了一种简单的方法来转储此命令的结果。用parallel预先结束上述命令无效:
$ parallel kubectl exec -ti [POD NAME]
我想在库伯内特斯启动FIWARE Orion。
这是舱单:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: broker
spec:
replicas: 1
template:
metadata:
labels:
name: broker
spec:
containers:
- name: mongo
image: waz
例如,是所有limitranges的最小值构成容器的总最小值。那么默认请求呢?如果由于存在多个limitrange资源而存在多个默认请求,则选择哪一个?容器资源请求/限制将覆盖默认命名空间请求/限制
如果您的容器请求/限制与名称空间最小和最大设置不匹配,则不会安排pod
将1.6.6版本用于所有
我正在尝试使用部署K8s联盟
我正在使用下面的命令在k8s集群中创建联合组件
kubefed -v=9 init fellowship --dns-provider="kube-dns" --dns-zone-name="example.com" --host-cluster-context="kubernetes-admin@kubernetes" --api-server-service-type="NodePort" --api-ser
在kubernetes中,我如何在我的pod中使用来自复制控制器的元数据名称?
假设我想通过:
名称:sparkworker1 rc
到我的播客,以便我可以将其用作日志文件的参数,例如:
- name: "JAVA_OPTS"
value: "-DMY_RC_NAME=$(MY_RC_NAME)"
但是我没有得到“sparkworker1rc”而是得到了运行sparkworker1rc的pod的名称-(pod的名称)
这是我的YAML:
有人知道我如何获取RC名称而不是pod名称吗?不确定
更新:
找到了,但这是正确的方法吗
我可以看到我可以执行portforward到e节点,如:
kubectl port-forward hello-nginx 8080:80
但我想玩游戏,尝试扩展和访问服务。
我已启动服务:
kubectl expose deployment hello-nginx --type=NodePort
service “hello-nginx” exposed
然后:
kubectl get services
rolling-sponge-hello-wo
我有一个运行服务和POD/副本的工作集群。
如果我没有错,如果使用Type=NodePort/LoadBalancer创建服务,Kube代理将在所有节点中创建一个新的NodePort,并创建一个iptable规则。
如果我向集群添加新节点,Kube proxy是否也会在新添加的节点中创建节点端口?是的。这就是kubeproxy的本意
我正在私人实验室中部署k8s,并在k8s服务中使用--external ip选项:
Name: my-service
Namespace: default
Labels: <none>
Annotations: <none>
Selector: app=myapp
Type: ClusterIP
IP: 10.98.4.25
我试图理解Kubernetes关于工作节点如何/如果彼此通信的设计。我在上找到了文档,但在节点上没有找到任何文档。我知道,即使POD位于不同的节点上,它们也可以通信,除非网络策略阻止了这一点。我想知道的是,主从架构中的信息流是严格地在工作节点和主节点之间还是在工作节点之间
问题1:工作节点是相互通信还是只在POD之间进行通信?或者更确切地说,即使节点的吊舱不通信,节点也会通信吗
问题2:假设我们有2个工作节点,并且我们已将ssh:ed插入其中一个节点,那么关于另一个节点或主节点有哪些可用信息
谢
在制作卡桑德拉的docker图像后,从我的定制thingsboard中设置卡桑德拉、应用程序和zookeeper。
我尝试将其部署到Kubernetes引擎,没有错误,但运行不好
以下是我在github中对yaml的命令:
curl -L https://raw.githubusercontent.com/Firdauzfan/ThingsboardGSPE/master/docker/k8s/common.yaml > common.yaml
curl -L https://raw.g
我在我的项目中使用Kubernetes,我使用Helm以一种简单的方式安装Jaeger和Kafka。问题是关于卡夫卡,动物园管理员的吊舱启动正确,我有一个吊舱从一开始就处于“待定”状态
我使用了这个命令kubectl--namespace=default-description-pod my-kafka-kafka-0,得到了以下信息:
警告失败调度55m(x398超过2h)默认调度程序盒已解除绑定PersistentVolumeClaims(重复2次)
我不知道如何解决这个问题,因为我是Kub
我在Fedora服务器上的集群k8s上遇到了一些问题,我有1个主节点和2个节点,找到了etc、flannel、docker和kubernetes的配置
我跑
而且,这很好
kubectl expose deployment busybox --type=NodePort
现在
当描述hpa时,其度量是
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
busybox Deplo
在k8s(v1.10)集群上发布Redis吊舱创建,吊舱创建卡在“ContainerCreating”上
确保/etc/cni/net.d及其/opt/cni/bin朋友都存在,并且在所有节点上正确填充了配置文件和二进制文件。特别是法兰绒,当我使用印花布作为CNI时,人们可能会使用它,而我面临着类似的问题
容器仍处于创建状态,我检查了主节点上是否存在/etc/cni/net.d和/opt/cni/bin,但不确定工作节点上是否也需要这样做
root@KubernetesMaster:/opt/c
将开发、qa和生产等环境映射到kubernetes名称空间似乎是一种很好的做法。为了实现“真正的”分离,最好是专门为其中一个名称空间标记节点,并确保仅在这些节点上调度这些环境中的资源。这至少是我们目前的想法。在那些名称空间中可能有一些清单需要使用,这些清单应该/不应该被篡改。Kubernetes似乎不支持将名称空间与开箱即用的节点相关联PodNodeSelectorAcquisition controller似乎很接近,但不是我们想要的。实现我们想要的目标的唯一选择似乎是一个定制的变异许可web
我正在将一些服务迁移到kubernetes,我正在寻找日志文件管理的解决方案。所说的服务可能非常嘈杂(说日志),因为它们将在各种容器中,所以我计划使用logstash->elasticsearch集中日志
如果这些是虚拟机id,则可能会设置filebeat以获取日志,并将logrotate设置为非常严格,不允许任何文件超过一天。这是kubernetes的合适机制吗?我不想通过填充磁盘在kube主机上造成问题
本质上:每个容器都有一个服务+filebeat+严格的logrotate策略。日志将被转
我正在与Docker一起学习Kubernetes,以启动一个简单的Python web应用程序。我对以上所有技术都是新手
以下是我计划采用的方法:
安装Kubernetes
在本地启动并运行群集
安装Docker
创建Python应用程序
我成功地安装了Kubectl在我的本地使用巧克力以下的指示
我在C:\Users目录中创建了\kube目录。但是,无论是在安装kubernetes的位置C:\ProgramData\Chocolate\lib\kubernetes cli\tools\kube
我读了这篇关于如何共享kube配置的帖子
它说kubectl config view--flatte--minify是获取kube配置文件的方法。
但是当谈到使用这个配置文件时,我感到困惑。
例如,如果输出保存为config yuta,我是否总是这样指定配置文件?
kubectl--kubeconfig=config yuta集群信息
我觉得总是指定--kubeconfig=xxx太麻烦了。
当我有多个集群时,我只想切换上下文,像kubectl cluster info一样,而不指定某个文件
我有一个私有注册表,我想允许工作节点(在Azure Kubernetes服务上运行)只能从此注册表中提取图像
是否有一种方法允许工作节点仅从特定的私有注册表提取图像
如果实现这一点的唯一方法是通过复杂的防火墙规则,我会感到惊讶。据我所知,Kubernetes没有您所指的功能
您可以阅读about,它描述了如何创建保存授权令牌的秘密以及如何使用它
另一方面,我在Docker中找到了一个名为内容信任的东西
内容信任允许使用远程Docker注册表的操作强制执行客户端签名和图像标记验证。内容信任提供了对
我可以列出所有可用的custom.metrics,但我不知道如何查询单个值。例如,我尝试过:
curl http://localhost:8001/apis/custom.metrics.k8s.io/v1beta1/ | jq .
{
"kind": "APIResourceList",
"apiVersion": "v1",
"groupVersion": "custom.metrics.k8s.io/v1beta1",
"resources": [
{
我更新了一个statefulset部署,该statefulset的已删除POD将永远挂起。因此,我描述了pod,发现它们无法在节点上调度,因为节点与pod关联/反关联规则不匹配。但是,此statefulset根本没有关联规则
我的问题
如何评估statefulset的关联规则,以便查看哪些关联规则阻碍了这些pod的启动
我相信一定是另一种部署阻碍了这些吊舱的启动,但我不知道可能是哪种部署。检查这一点,以确定可能的根本原因
检查您的节点是否存在污染(kubectl description nod
在Minikube中,我使用下面提供的配置创建了一个pod
kind: Pod
metadata:
name: node-js-pod
spec:
containers:
- name: node-js-pod
image: bitnami/apache:latest
ports:
- containerPort: 8080
然后,我使用下面提供的配置创建了一个集群ip类型的服务
kind: Service
metadata:
name: node
我在我的overlay kustomization文件中使用了一个JSON补丁,以便设置用于我的POD的图像
补丁本身非常通用:
- op: replace
path: /spec/template/spec/containers/0/image
value: myRegistry/myImage:myTag
在我的kustomization.yml中:
patchesJson6902:
- target:
group: apps
version: v1
我试图监控普罗米修斯运营商的外部服务(卡桑德拉度量的出口商)。我使用helm 2.11.0安装了普罗米修斯操作员。我使用这个yaml安装了它:
apiVersion: v1
kind: ServiceAccount
metadata:
name: tiller
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: till
我是库伯内特斯的新手,所以可能是个愚蠢的问题。
我正在尝试部署带有3个pod副本的ElasticSearch状态集。我已在规范中定义了带pvc的StatefolSet。
此pvc具有由hostPath卷提供服务的存储类
volumeClaimTemplates:
- metadata:
name: beehive-pv-claim
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: "l
我有一个python应用程序,docker构建大约需要15-20分钟。
下面是我的Dockerfile的大致外观
FROM ubuntu:18.04
...
COPY . /usr/local/app
RUN pip install -r /usr/local/app/requirements.txt
...
CMD ...
现在,如果我使用skaffold,任何代码更改都会触发重建,并且它将重新安装所有需求(从复制步骤开始,所有其他内容都将被重建),无论它们是否已经安装。iIn docker
当我为OpenShift/K8s创建资源时,我可能超出了覆盖范围。我想让架构定义离线
如何从命令行获取一种模式。例如,我想获得部署、DeploymentConfig、Pod或机密的通用模式。
有没有一种不用谷歌就能获取模式的方法?如果我能得到一些关于它的文档描述,那就最好了。你熟悉OpenAPI/Swagger吗?OpenShift/Kubernetes支持它。阅读更多。根据OP的回复,将@Graham Dumpleton的评论发布为社区维基答案,该回复称这解决了他/她的问题:
您是否尝试过运行
Kubelet已通过印花布pod网络初始化:
sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --image-repository=someserver
然后我得到calico.yaml v3.11并应用它:
sudo kubectl --kubeconfig="/etc/kubernetes/admin.conf" apply -f calico.yaml
在我检查pod状态之后:
sudo kubectl --kubeconfig=
我正在尝试在Openshift环境中使用Filebeat部署ELK堆栈
Filebeat正在尝试读取pod的“/var/lib/docker/containers”路径下的日志文件,但由于“权限被拒绝”错误而失败
我正在使用带有“runsAsAny”和“runAsUser:0”的SCC
卷装载:
volumeMounts:
- mountPath: /var/lib/docker/containers
name: varlibdockercontainers
主机路径卷:
security
在Kubernetes(AWS EKS)中,当我创建LoadBalancer类型的服务时,生成的EC2 LoadBalancer与EKS群集中的所有节点(实例)相关联,即使服务中的选择器将只找到在这些节点中的1或2个(即,小得多的节点子集)上运行的POD。
我很想了解的是,随着交通量的增加,这将是有效的
我找不到关于这个主题的任何建议,我很想知道这是否是正确的方法。如果请求到达pods未运行的节点,并且没有保留请求的源IP,这可能会引入额外的SNAT。您可以将externalTrafficPol
我使用GKE创建集群。
但kube系统名称空间中没有kube apiserver工作负载
当我使用ssh连接主节点时,没有kubeadm可执行文件
但我在GCE(谷歌计算引擎)VM中使用“kubeadm init”创建kubernetes
运行“kubectl获取pods-n kube系统”时,会出现kube apiserver pod
并安装了kubeadm可执行文件
两种情况下我都使用标准-2机器(2CPU,7.5G)
我想使用kubeadm命令控制GKE(googlekubernetes引
我有一个基于内存(和自定义指标)的扩展POD(HPA)的用例
但是,各自的apiVersion处于测试阶段(自动缩放/v2beta2)
不确定何时将在GA/stable版本中,因此检查
有什么建议吗?如果您查看,并且没有明确指示何时可以使用自动缩放/v2(GA)
例如,在Kubernetes的下一个版本中,API可以是autoscaling/v2beta2或autoscaling/v2,这取决于发行版/功能团队在满足“稳定性”方面的感受
话虽如此,根据弃用政策和,您应该可以安全地使用autosc
我很难设置一个对我来说很好的网络策略。下面是同一名称空间中的两个pod
k get po --show-labels
NAME READY STATUS RESTARTS AGE LABELS
nfs-server-ccb8d5ff6-7rtr4 1/1 Running 0 22h role=nfs-server
nginx-jpm-549b69bf68-x5hd7 1/1 Run
标签: Kubernetes
persistent-volumeskubernetes-statefulset
我有一个用kubeadm引导的kubernetes集群。我想在上面运行有状态的应用程序,但不想使用hostpath。有没有办法在不使用云存储(如EBS、Azure磁盘等)和主机路径的情况下运行有状态的应用程序?我看过一些关于设置glusterFS服务器并使用它的文章,但还没有让它运行
请建议。您可以使用本问题中讨论的
与主机路径卷相比,本地卷可以以持久和可移植的方式使用,而无需手动将POD调度到节点,因为系统通过查看PersistentVolume上的节点关联来了解卷的节点约束
apiVersi
我将使用direct csi驱动程序在分布式模式下设置4节点minio群集。基于该文档,我尝试创建直接csi部署,但失败并显示以下错误消息。我使用的是Kubernetes v1.17.0集群
如何解决此错误消息
[更新]
要检查CIS版本,请执行以下操作:
kubectl explain CSIDriver
KIND: CSIDriver
VERSION: storage.k8s.io/v1beta1
谢谢
SR因为您使用的是K8s 1.17CSIDriver对象。因此storag
我想在应用程序YAML文件中的configMap的数据部分传递一个列表对象
我在属性文件中有以下列表:
abc.management.provider[0].url=https://example.com
abc.management.provider[0].username=John
abc.management.provider[1].url=https://example2.com
abc.management.provider[1].username=Targerian
YAML
我有一个已经运行的kubernetes应用程序(eclipse)
我正在使用以下命令编辑configmap
kubectl编辑cm/che-n che
当我编辑并保存它时,会收到一条消息,说明configmap已保存。
但是当我再次发出相同的命令时,我找不到我的更改。
我是否缺少一些基本步骤?使用kubectl详细模式跟踪问题
kubectl edit cm/che -n che -v9
我猜这可能与权限、许可控制或操作员框架有关。使用kubectl详细模式来跟踪问题
kubectl edit
上面的代码是我的部署YAML文件
并且不能从浏览器访问服务在minikube集群中公开服务与普通kubernetes集群略有不同
请遵循kubernetes文档中的说明,并使用minikube服务命令以正确公开它。您可以添加有关minikube配置的更多详细信息吗?你遵循哪一个指南?您是否正在为minikube群集使用虚拟机?
apiVersion: apps/v1
kind: Deployment
metadata:
name: identityold-deployment
spec:
我有我们正在运行的供应商应用程序的helm部署脚本。对于日志记录解决方案,我需要为fluentbit添加一个sidecar容器,以将日志推送到聚合日志服务器(在本例中为splunk)
现在要定义这个sidecar容器,我希望避免更改供应商定义的部署脚本。取而代之的是,我想用另一种方法将侧车容器连接到运行的吊舱上
到目前为止,我了解到可以在同一部署脚本(部署配置)中定义sidecar容器。回答评论中的问题:
谢谢你,大卫。这必须在部署之前完成。我想知道我是否可以将一个侧车容器连接到一个已经部署(运
我正在尝试通过VMS设置K8S并成功安装主节点
kubectl get nodes -o wide
master Ready control-plane,master 14m v1.20.1 192.168.5.13 <none> Ubuntu 18.04.5 LTS 4.15.0-124-generic docker://18.6.3
获取下面的错误
[preflight] Running pre-flight checks
标签: Kubernetes
persistent-volumeskubernetes-statefulsetpersistent-volume-claims
从一开始:这里的kubernetes非常初级
我(想)知道如何为我的StatefulSet创建一个用于持久性的卷。为此,我有
volumeMounts:
- name: db
mountPath: /var/lib/mydb
及
我想这会给我的pod每个(?)50GB的空间来保存它们的内容
这有助于我在DB为空并从头开始时测试我的应用程序。我想,如果POD关闭并重新启动,它将能够重用DB——这就是我理解这种持久性的方式
但
在主机上,挂载目录(/opt/testpod)中的所有内容都归uid=0 gid=0所有。我需要这些文件归容器决定的任何人所有,即不同的gid,以便能够在那里写入。我正在测试的资源:
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv
labels:
name: pv
spec:
storageClassName: manual
capacity:
storage: 10Mi
accessM
我正在使用Helm w/Kubernetes,并试图将现有Configmap中的数据添加到现有机密中。原因是,我需要设置CRD上的一个属性,该属性只接受一个密钥引用。现有密钥由Vault创建,现有Configmap在Helm图表中以纯文本形式配置。出于我不想透露的原因,我们不能将configmap的内容包含到Vault机密条目中,因此我必须能够将这两个内容合并到一个机密条目中
我尝试过搜索这个,但我看到的大多数答案都涉及到创建initContainer和设置卷,但不幸的是,我认为这不适合我的情况
我想发这个,因为它可能会帮助别人。没有helm软件包,我找不到Kubernetes NiFi安装程序,因此我为Kubernetes NiFi集群安装程序准备了以下配置YAML
这是的链接。如果您在配置中发现任何问题,或者您想提供任何建议,请发表评论。根据使用情况增加磁盘存储配置
apiVersion: v1
kind: Service
metadata:
name: nifi-hs
labels:
app: nifi
spec:
ports:
- port: 1025
我已经建立了一个Kubernetes系统,有1个主节点和3个工作节点,以及一个负载平衡器。但目前我的管道被卡住了,因为我正在努力寻找解决方案,我如何才能建立一个WordPress网站,并在所有节点上复制流量。对我来说,一切都很清楚,只是我不知道,如何让所有3名员工(不同国家的VPS服务器)拥有相同的数据,以便POD可以工作和扩展,如果一名员工死亡,第二名和第三名员工可以继续提供所有服务。PVE是解决方案还是其他解决方案?请告诉我开始搜索的方向
谢谢。您可以在ReadWriteMany模式下创建一
希望大家都好,
我目前正试图在Kubernetes集群上推出该服务,但在从集群外部访问该服务时遇到了一些问题
目前,我已设置了以下服务:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
awx NodePort 10.102.30.6 <none> 8080:32155/TCP
当我尝试从我的POD中检索日志时,我注意到K8s并没有打印所有日志,我知道这是因为我观察到有关微服务初始化的日志不存在于日志头中
考虑到我的吊舱在很长的观察期内打印了很多日志,有人知道K8s在显示所有日志方面是否有限制吗
我还尝试设置——因为kubectl logs命令中的参数可以获取特定时间范围内的所有日志,但似乎没有效果
谢谢。之前的日志记录似乎有问题。连接相同的链接 之前的日志记录似乎有问题。连接相同的链接 容器运行时引擎通常管理容器(pod)日志。请检查正在使用的运行时引擎上的设置。容器
1 2 3 4 5 6 ...
下一页 最后一页 共 272 页