我已经通过Vagrant在OS X上安装了Kubernetes,看起来一切正常,但我不确定kubectl如何能够与主节点通信,尽管它位于工作站文件系统的本地
这是如何实现的?kubectl有一个配置文件,用于指定Kubernetes apiserver的位置以及要向主机进行身份验证的客户端凭据。kubectl发出的所有命令都是通过HTTPS连接到apiserver的
当您运行脚本以启动集群时,它们通常会生成此本地配置文件,其中包含访问刚刚创建的集群所需的参数。默认情况下,文件位于~/.kube/
示例:
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE
test pod_A 1/1 Running 1 17d 192.168.1.171 10-0-0-171.master
test pod_B 1/1 Running 1 17d
我设置了一个入口控制器,一个带有节点端口的服务,设置了运行状况路由,并验证了我的服务是否正在运行,但我的请求仍然被路由到默认后端,而不是入口控制器。我不知道为什么,也不知道如何调试这个
我已经检查过了:
我的豆荚是健康的(并且有健康路线)
我有一个节点端口
服务的描述中没有错误
我的服务从另一个吊舱开始工作
当我卷曲我的URL时,我得到以下信息:
$ curl image-pin.thejsj.com -v
* Rebuilt URL to: image-pin.thejsj.com/
*
我有一些特定的pod调度需求。因此,我正在编写自己的自定义调度程序
但是,我想知道定制调度器是否可以简单地更新pod配置,特别是“nodeAffinity”和“schedulerName”字段,以便将调度委派回kube调度器
这样,自定义调度程序就不需要模拟整个kube调度程序,并且可以在将来的版本中使用kube调度程序中的任何更新
这就是为什么我问集群中运行的作业或Pod是否可以更新Pod配置的nodeAffinity和schedulerName字段——比如通过Kubernetes API或任
是否可以为kubernetes中的用户配置默认名称空间(默认名称空间除外)
谢谢。是的,只需在用户的kubeconfig文件中设置.contexts[].context.namespace
您可以使用文本编辑器(~/.kube/config)手动执行此操作:
或者使用kubectl配置。此示例在当前上下文中将命名空间设置为frontend:
kubectl config set "contexts."`kubectl config current-context`".namespace" fro
我有单独的kubernetes容器并在运行。有人能帮我联系一下吗?
我在docker compose上工作过,它的工作原理如下:
redis:
image: redis
hostname: redis
expose:
- "6379"
nginx:
image: xxx.xx.xx.xx:5000/nginx:0.1
expose:
- "8080"
ports:
- "8080:8080"
dep
是否可以根据请求向服务/入口控制器后面的所有POD发送请求
我的要求是,如果请求为/send/all,则向所有pod发送请求
感谢您,这是不可能的,因为ingress controller无法做到这一点(当然,基于nginx和GLBC的ingress无法做到这一点,但是由于http的工作方式,我假设所有Ingres控制器都是如此)
根据你的具体情况,你几乎没有选择
如果您的案例只是监控,并且您可以控制发送到您的POD的请求数量,那么您可以为您的POD设置http。然后您将确定,如果pod没有返回
是否有任何策略或方法使我们能够在kubernetes作业(使用该声明)完成时自动删除持久卷声明
供参考:
我正在使用删除策略创建持久卷声明,即在声明删除时,关联的持久卷也会被删除,这是我的预期行为
仅建议其他解决方案,如(cronjobs for cleaning或kubernetes watch功能),如果没有自动执行此操作的方法,这将是我的最后选择。kubernetes中没有在作业完成后删除持久卷声明的功能
其中一种方法是将Cron作业与运行bash脚本的simplebusybox容器一起使
我们正在运行一个SaaS服务,我们希望迁移到Kubernetes,最好是在一个hyperscalars上。我还没有找到一个干净的解决方案的一个具体问题是需要从应用程序中选择出口IP地址
我们处理大量的上游提供商,这些提供商基于源IP地址进行访问控制和速率限制。另外,我们的一部分客户正在使用他们自己与一些上游供应商的帐户。要访问其帐户上下文中的上游提供商,我们需要从应用程序中控制用于连接的源IP
我们目前正在负载平衡器后面的DMZ中运行服务,因此直接选择网络接口已经不可能了。我们在负载平衡器/网关
标签: Kubernetes
google-kubernetes-enginekubernetes-ingresscert-manager
全部,
我遵循了以下教程:。
我在谷歌云中为kubernetes设置了一个入口,我有一个静态IP地址,并且创建了秘密。
这是我的入口配置:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: helloweb
annotations:
kubernetes.io/ingress.global-static-ip-name: helloweb-ip
certmanager.k8s.io/acme-http
我试图将gzip配置为在kubernetes上运行的python应用程序中工作,该应用程序在GKE中使用nginx入口。但是我发现在入口控制器配置映射中启用gzip是没有用的,因为据我所知,我需要在后端启用压缩
如何在python应用程序的后端启用压缩,以便在nginx控制器上运行gzip
我的主要问题是在stackoverflow中搜索,我知道我需要将压缩放在后端,只是不知道如何做。这使得这成为一个nginx对话。有很多文档可以用来指导nginx压缩的方法和内容。本质上,您必须在nginx配置
我正试图在我的单板计算机(非raspberry)上设置一个单节点集群,运行armbian(基于ubuntu仿生内核4.19)。我根据设置了所有内容,但是当我尝试运行kubeadm init时,它会失败,因为它在启动控制平面时等待条件时超时
我阅读了所有关于这个问题的问题,但似乎没有什么对我有用。我还尝试了不同的kubernetes版本,但得到了相同的结果
以下是我的所有日志(在上次运行中,我尝试了k8 v1.12,但结果与v1.13相同):
>kubeadm init——节点名称节点名称——po
K8s集群的创建、开发和运营有何不同-
使用时
或
是否直接在GCP/AWS中创建
我通过Gardner配置了K8s集群。我现在看到Gardener创建的计算实例(没有GKE集群)
这是唯一的区别吗,至少在提供K8s集群的上下文中是这样的
K8s集群的创建、开发和运营有何不同-
当使用园丁
或
是否直接在GCP/AWS中创建
它们只是管理集群的不同方式,本质上,它们完成了一些非常相似的事情,但在这里和那里有些不同
Gardener:您有一个“花园”K8s来管理其他云提供商(如AWS、GCP、Az
我使用大使作为API网关,并试图让外部身份验证工作。我已经部署了带有相应注释的auth服务
...
metadata:
name: auth-service-svc
annotations:
getambassador.io/config: |
---
apiVersion: ambassador/v1
kind: AuthService
name: authentication
proto: http
我们的设置:
我们在GCP中使用kubernetes。
我们有将日志写入共享卷的吊舱,还有一个侧车容器,它可以为我们的日志系统吸收日志。
我们不能仅仅使用stdout来代替这个过程
其中一些豆荚寿命很长,并且由于没有日志旋转而填满了磁盘空间
问题:
防止磁盘空间在此被填满的最简单方法是什么(不安排pod重启)
我一直试图在Dockerfile中使用:RUN apt get install-y logrotate安装logrotate,并在/etc/logrotate.d/dynamicproxy
我有一个配置文件,如下所示。此文件是configmap,将由我的应用程序装载和读取。这里的问题是,此配置文件有一个带有my db password的属性。我不想让它暴露出来。因此,无论如何都有必要将kubernetes秘密注入到这样的配置文件中。谢谢
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?&g
我遵循Kubernetes针对Helm的安装说明:
K8 v1.15上的Cert manager v0.81,Ubuntu18.04内置。
当我开始测试安装时,会出现以下错误:
error when creating "test-resources.yaml": Internal error occurred: failed calling webhook "issuers.admission.certmanager.k8s.io": the server is currently unable
我试图在Kubernetes集群中运行的服务器上建立一个简单的websocket连接
Websocket连接可以在我的本地测试机器上建立,但在使用nginx ingress部署到GKE后,我无法将客户端连接到服务器
入口yaml文件:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-service
annotations:
kubernetes.io/ingress.class: nginx
我想在kubernetes上创建elasticsearch pod
我做了一些配置更改来编辑path.data和path.logs
但我得到了这个错误
错误:验证“es deploy.yml”时出错:验证数据时出错:
ValidationError(Deployment.spec.template.spec.containers[0]):未知
io.k8s.api.core.v1.Container中的字段“卷”;如果你选择
忽略这些错误,使用--validate=false关闭验证
服务账户
我正在建立一个CI/CD管道。部署步骤运行以下命令:
kubectl apply -f manifest.yml --namespace <namespace>
kubectl rollout status Deployment/<service> --namespace <namespace>
我可以看到它启动了一个吊舱,它被卡在了紧急后退中。我可以通过运行了解pod启动失败的原因:
kubectl logs <pod-name>
kubec
以下是stable/prometheus的舵图值:
我能够让这个工作:
helm upgrade --install prometheus stable/prometheus \
--set extraScrapeConfigs="- job_name: 'myjob'
scrape_interval: 1s
metrics_path: /metrics
scheme: https
static_configs:
- targets: ['###.##.###.###:#
我正在运行1.12版的香草EKS Kubernetes
我已经使用CNI精灵来允许用户选择pods启动时使用的CNI,并且我已经安装了标准的印花棉布CNI设置
使用CNI Genie,我将默认CNI配置为AWS CNI(AWS节点),所有POD都会正常启动,并从我的VPC子网分配一个IP
然后,我有选择地使用印花布作为我正在测试的一些基本豆荚的CNI。我使用的是默认的印花布192.168.0.0/16CIDR范围。如果POD位于相同的EKS工作节点上,那么一切都会非常好
核心DNS也工作得很好(
我有一个带有2个容器的Kubernetes吊舱,并将此吊舱的TCP协议服务公开给Kubernetes/ingress nginx。如果sidecar容器处于坏状态,我仍然可以访问默认容器吗?当前我卷曲它时超时。您想如何访问另一个容器?控制台还是网络?如果希望通过控制台访问另一个容器,可以运行kubectl exec-ti-csh(如果容器中内置了bash)。如果您想通过网络访问它,这实际上取决于sidecar容器的功能。如果它是流量拦截器(代理、反向代理),您可能无法从公开的端口访问容器。但是,
我在我的values.yaml文件中定义了一个具有几个属性的对象:
serverOptions:
defaultUrl:
p1: abc
p2: def
cpu_request:
p1: abc
p2: def
mem_request:
p1: abc
p2: def
我正在使用以下代码将这些数据保存到configmap.yaml中的server\u optionsjson文
从头盔图表安装istio时,未找到“istio侧车喷油器”错误
NAME READY STATUS RESTARTS AGE
certmanager-b8dc8f99c-bw52l 1/1 Running 0 2m
istio-citadel-5cf47dbf7c-2brk9 1/1
创建yaml-bomb.yaml文件:
apiVersion: v1
data:
a: &a ["web","web","web","web","web","web","web","web","web"]
b: &b [*a,*a,*a,*a,*a,*a,*a,*a,*a]
c: &c [*b,*b,*b,*b,*b,*b,*b,*b,*b]
d: &d [*c,*c,*c,*c,*c,*c,*c,*c,*c]
e: &e [*d,*d
我正在尝试在EKS群集(v1.13.10-EKS-5ac0f1)上设置基于自定义度量的autoscaler,但外部度量标签的labelSelector筛选器似乎未进行筛选
使用和(v0.3.6),我成功地将普罗米修斯的度量导出为库伯内特斯的外部度量
度量已正确导出并在kubernetes api上可见:
kubectl get --raw "/apis/external.metrics.k8s.io/v1beta1/namespaces/*/sqs_queue_messages"
{
"k
我没有创建DNS/Domainname的权限,因此我无法填写ingress'YAML文件中的host字段
我只想像这样使用IP:
10.10.10.10/foo
10.10.10.10/条
这是我的Ingres'YAML文件:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: foobar-ingress
annotations:
kubernetes
我看到在Pod/Deployment YAML中,有一个容器区域,我们在其中声明我们的容器,每个容器都可以将我们的端口(数组)指定为containerPort
如果每个Pod都有来自多个需求(web、数据库等)的多个容器,并且每个容器都有一个端口,那么我们如何在该部署的服务中选择targetPort?(我们选择哪个集装箱港口)
该服务是吊舱/部署服务还是容器服务?因为在服务的定义中,提到了它是一种在集群中通信pod的方法
感谢您可以拥有一个在规范部分中具有多个端口的服务,以公开多个端口并定义目标
我对舵手的部署有问题。在我向部署中添加了一个新的环境变量之后,它发生了
执行时:helm-upgrade[RELEASE][CHART]
我得到以下错误:
Error: The order in patch list:
[
map[name:APP_ENV value:prod]
map[name:MAILER_URL value:...]
map[name:APP_VERSION value:v0-0-3]
map[name:APP_COMMIT_SHA v
这就是我的工作。
我在GKE上有3个nodepool
n1s1(3.75GB)
n1s2(7.5GB)
n1s4(15GB)
我有需要以下任何内存请求的POD。假设限制非常接近请求
1GB, 2GB, 4GB, 6GB, 8GB, 10GB, 12GB, 14GB
如何最好地将pod与nodepool关联以获得最大效率
到目前为止,我有3种策略
对于每个pod配置,确定正确的节点POOL。这是在理想情况下可以容纳pod配置的最小节点池。
所以对于2GB吊舱,它是n1s1,但对于4GB吊舱,它是
我正在尝试在kubernetes上部署高可用的flink群集。在下面的示例中,工作节点被复制,但我们只有一个主pod
据我所知,有两种方法可以让job manager成为HA
在第一个示例中,我们部署了另一个作业管理器,以在发生故障时在它们之间切换
在第二个示例中,kubernetes在出现故障时重新部署作业管理器pod
所以我有几个问题
对于这两个示例,当活动作业管理器失败时,正在运行的作业会发生什么情况
第一种情况可以应用于库伯内特斯吗
对于作业管理器故障的第二种情况,在pod恢复之
我正在使用entrypoint启动我的应用程序,现在我在entrypoint中使用一个变量,并在运行时在kubernetes pod env变量中传递该变量,这是我的docker文件:
FROM openjdk:8-jre-alpine
MAINTAINER jiangxiaoqiang (jiangtingqiang@gmail.com)
ENV LANG=en_US.UTF-8 \
LC_ALL=en_US.UTF-8 \
TZ=Asia/Shanghai
RUN l
我目前正在使用普罗米修斯(由于历史原因,不是普罗米修斯操作员)头盔图表,在我们的内部库伯内特斯集群中,我想部署塔诺斯侧车
如何在values.yaml文件中添加侧车容器?这方面有什么例子我可以参考吗?似乎没有关于这方面的任何文档,正如本文所指出的,根据图表的部分,您可以添加server.sidecarContainers
server.sidecarContainers-用于普罗米修斯服务器的带有侧车容器的片段数组
正如前面所说,模板非常简单
{{- if .Values.server.si
以下是我的配置(参考github的XFCC常见示例):
两个问题:
我的IngressGateway是在自定义命名空间“X”中配置的,我是否也应该在该命名空间中配置EnvoyFilter?还是违约?或Istio系统
我有一个场景,集群外的客户端调用我的API并在头中传递证书(我在网关上进行TLS终止,并配置了全局mtls和ISTIO_MUTUAL客户端),我需要将该证书传递给集群内的服务。不幸的是,在上述配置中,XFCC头只包含citadel内部证书的证书详细信息,而不包含客户端的证书详细信息
将Flink 1.10升级到Flink 1.11后,log4j配置不再工作
我以前的配置是使用带有适配器的库,该适配器需要log4j1.x,并且不再与flink1.11兼容
根据新的配置,flink-conf.yaml应该如下所示
log4j-console.properties: |+
# This affects logging for both user code and Flink
rootLogger.level = INFO
rootLogger.append
我们面临卡夫卡状态存储的问题,它有一个备用副本
我们有两种拓扑(流)。一个没有任何内部状态存储,另一个有内部状态存储
我们对具有状态存储的拓扑有问题。因此,这里我只提供有关该拓扑的信息:
该流的活动和备用任务在两个节点中的两个独立kubernetes吊舱中运行
活动任务使用一些kafka消息,对其进行处理并将其写入状态存储。
保存活动任务的pod将被杀死。
备用任务分配给变更日志主题。
但消费者正在寻求最早的补偿。由于此变更日志主题包含数千条消息,因此需要很长时间才能完成
我希望备用(现在处于活
例如,假设我有一个pod,它以5秒的超时时间和10秒的周期对其liveness探测器执行GET请求。以下哪一条时间线代表探测的时间
自上次探测模式以来:
0s: liveness probe initiated
5s: liveness probe times out
10s: liveness probe initiated again because 10 seconds have elapsed since the start of the last probe
或自超时模式:
0s:
我在chaostesting命名空间中有nginx部署对象,配置如下所示
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
kube-monkey/enabled: "enabled"
kube-monkey/identifier: "nginx
我有一个应用程序,其中每个用户都被分配了一个部署和一个pod和一个服务。每个pod都配置有一个持久卷,如果pod需要重新启动,则允许用户数据持久化
是否可以允许用户通过ssh连接到其持久卷?如果pod(容器映像)中安装了ssh服务器,则我的应用程序基于此要求。您可以通过ssh连接到容器中并访问安装的pv(如果有)。1。您的应用程序应该能够处理ssh连接。您必须在pod内安装并运行f.e.openssh服务器。
请考虑使用SIDECAR概念来执行这个任务:在您的场景中,SSH服务器可以与用户/应用
标签: Kubernetes
jenkins-pipelinedevopscontinuous-deploymentamazon-eks
有人能告诉我使用Jenkins在Kubernetes或EKS集群上部署应用程序的部署流程吗。如何根据docker映像的更改更新部署文件。如果我们有多个部署文件,并更改其中任何一个的任何映像。他们都被重新部署了吗
有人能告诉我使用Jenkins在Kubernetes或EKS集群上部署应用程序的部署流程吗
确保Jenkins实例具有IAM角色并更新了kubeconfig,以便它可以访问Kubernetes群集。如果考虑在KubNeNETs集群上运行流水线,或者可能是更好地为Kubernetes设计的
我试图将hostdetails传递给k8spodd,并在cronjob调用的shell脚本中使用它。
例如:
env:
- name: ranger_host
value: 13455:
and i hv shell script say eg runcron.sh
python2.7 alertMetric.py $ranger_host .
但是ranger_主机并没有进入这个shell脚本。调试起来真的很困难。
runcron.sh在cronjob中被称为
S
我希望以HTTP的形式进入集群的流量被重定向到HTTPS。但是,集群接收来自数百个域的请求,这些域会进行动态更改(使用cert manager创建新的证书)。因此,我希望重定向只在URI没有前缀时发生
我正在使用一个侦听443的网关和另一个侦听80并将HTTP发送到acme solver虚拟服务的网关
apiVersion:networking.istio.io/v1alpha3
种类:网关
元数据:
名称:默认网关
规格:
选择器:
伊斯蒂奥:入口大道
服务器:
-主持人:
-site1.co
我在node.js中有一个服务和pod。考虑Hello World…
暴露端口:http上的80
我想无缝地重新启动我的服务/吊舱
pod/服务重启需要花费大量时间,因此会出现停机
使用:kubectl删除;然后用kubectl重新创建它
如何避免延迟和停机?考虑到连续部署,您以前的POD将被终止,新的POD将被创建。因此,服务停机是可能的
要避免这种情况,请在部署规范中添加策略
例如:
apiVersion: apps/v1beta1
kind: Deployment
metadata:
我有一个Kubernetes群集设置,我想从位于hub.docker.com的注册表中提取。当我尝试从hub.docker.com中提取公共图像时,这没有问题,但是当我尝试从hub.docker.com提取私有图像时,这没有问题。它找不到它们
我已经尝试用Docker登录信息创建了一个secretregcred(请参阅),并用imagePullSecrets添加了它。但这似乎不起作用
如何让我的K3s集群通过hub.docker.com的私有部分进行身份验证,以便在部署中提取私有映像
谢谢
这是
我能够使用CLI()在Kubernetes群集中创建作业
有没有办法使用Java API在集群内创建作业?您可以使用Kubernetes Java Client创建任何对象,例如作业。参考示例
如果您想使用静态清单yaml启动作业,那么使用官方库应该很容易。
这个代码对我有用
ApiClient client = ClientBuilder.cluster().build(); //create in-cluster client
Configuration.setDefaultApiClien
在HA kubernetes集群中,我们配置了多个控制平面(主节点),但多个控制平面如何同步其数据?当我们使用kubectl命令创建pod时,请求通过云负载平衡器传递到一个控制平面。我想了解其他控制平面如何将其数据与收到新请求的控制平面同步?首先,请注意,API服务器是唯一直接与etcd进行通信的组件
在Kubernetes集群上所做的每一项更改(例如,kubectl create)都将在etcd数据库中创建适当的条目,并且从kubectl get命令获得的所有内容都存储在etcd中
在这篇文章
标签: Kubernetes
istiokubernetes-podkubernetes-dnsistio-gateway
其根本原因与相同,但在进一步诊断后,我将其改写为Simple(试图获得帮助)
问题
我试图在Istio网格中配置RequestAuthentication(和AuthorizationPolicy)。我的JWK令牌由内部OAUTH服务器(基于CloudFoundry)提供,该服务器可以很好地用于其他服务。
当我配置uri以获取签名密钥、链接到内部pod时,问题就出现了。此时,Istio没有解析内部pod的名称。我感到困惑,因为微服务能够连接到我所有的内部POD(mongodb、mysql、rab
如果按照我注释的方式执行,tomcat将无法正常工作,因为python服务器在tomcat成功之前已经运行
在kubernetes环境中使用yaml文件部署tomcat conatiner,如果tomcat正常成功,我想运行python文件。我该怎么办?您可以使用sleep命令延迟testserver启动
一个更为奇特的解决方案是可行的
apiVersion: v1
kind: Pod
metadata:
name: test
labels:
app: test-pod
spec
如何创建一个名为pod1的pod,其中包含一个应用程序容器,用于在一个容器redis+nginx+busybox中运行以下每个图像
有人能回答这个问题吗
这是否可以在中创建
库伯内特斯
有人能回答这个问题吗?=>对
这可以在Kubernetes中创建吗?=>对
第一种方式(不推荐)
第二种方式-推荐方式
您将创建两个单独的部署(Nginx和BusyBox各一个,应用程序在其中?)以及一个StatefulSet(用于Redis)。这通常会产生三个单容器吊舱,不过如果需要,您可以放大它
1 2 3 4 5 6 ...
下一页 最后一页 共 432 页