我正在按照此模板为kubernetes设置skydns。但它无法解析dns。在寻找解决方案后,在kube2sky参数中添加了-kube_master_url,但仍然存在相同的问题。以下是skydns日志:
2016/04/23 02:49:26 skydns: falling back to default configuration, could not read from etcd: 501: All the given peers are not reachable (failed to
我正在尝试将Nexus3部署为IBM云服务中的Kubernetes吊舱。我得到这个错误,可能是因为PVC是为该用户以只读方式安装的。例如,我在博士后的其他时候也遇到过这个问题,但我记不起如何解决它:
mkdir: cannot create directory '../sonatype-work/nexus3/log': Permission denied
mkdir: cannot create directory '../sonatype-work/nexus3/tmp': Permissi
到目前为止,此链接不起作用:
kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel-rbac.yml
是否有其他方法修复此错误:
Warning FailedCreatePodSandBox 1d kubelet, node2 Failed create pod sandbox: rpc error: code = Unknown desc = f
我的主节点中有两个网络接口-
192.168.56.118
10.0.3.15
在主节点上执行kubeadm init时,我得到了以下命令来添加工人
kubeadm join --token qr1czu.5lh1nt34ldiauc1u 192.168.56.118:6443 --discovery-token-ca-cert-hash sha256:e5d90dfa0fff67589551559c443762dac3f1e5c7a5d2b4a630e4c0156ad0e16c
如您所见,它
配置k8群集时,在digital ocean的仪表板中的“选择群集容量”下,我看到一个选项,可以在池中添加节点,也可以添加一个新池。我不太明白其中的区别
DO给了我一个模棱两可的建议-
增加池中的节点数可以运行更多实例
这是定期服务的一部分。通过添加更多节点池,您可以
将pod调度到不同的节点池,以便每个pod都有RAM、CPU、,
以及所需的存储空间。可以添加和删除节点和节点池
随时都可以
有谁能给我举一个例子,当一个人在一个池中增加节点,当一个人创建一个不同的池
谢谢 假设我正在使用Kube
使用VirtualBox 4.3.30启动Kubernetes 1.0.1群集。一切都正确开始,如下所示:
Validate output:
NAME STATUS MESSAGE ERROR
controller-manager Healthy ok nil
scheduler Healthy ok nil
etcd-0
我有kubernetes的工作,需要不同的时间才能完成。在4到8分钟之间。有什么方法可以让我知道一项工作何时完成,而不是假设最坏的情况下等待8分钟。我有一个执行以下操作的测试用例:
1) Submits the kubernetes job.
2) Waits for its completion.
3) Checks whether the job has had the expected affect.
问题是,在提交kubernetes中部署作业的java测试中,我等待了8分钟,即使作业
我在检查kubernetes中的UpdateLoadBalancer实现。以下是我的理解:
设置–3个节点–1个主节点和2个辅助节点
创建一个类型为LoadBalancer的服务,但没有任何与之关联的POD
为服务创建1个pod(pod-1在minion-1中着陆)-UpdateLoadBalancer为
调用
将服务的吊舱缩放到2。
Pod-2降落在minion-2中-UpdateLoadBalancer被调用
将豆荚按比例缩放到3。Pod-3降落在仆从-1或仆从-2-
未调用Update
我正在学习PluralSight上的一门课程,课程作者在kubernetes上放置了一个docker图像,然后通过他的浏览器访问它。我试图复制他所做的,但我无法访问该网站。我相信我可能连接到了错误的IP
我有一个ReplicationController,它运行10个pods:
rc.yml
apiVersion: v1
kind: ReplicationController
metadata:
name: hello-rc
spec:
replicas: 1
我试图向API服务器添加命令行标志。在我的设置中,它作为k8s集群内的守护程序集运行,因此我使用kubectl获取守护程序集清单,对其进行更新,并执行kubectl apply-f apiserver.yaml(我知道,这不是一个好主意)
当然,我编写的新yaml文件有一个错误,因此API服务器不再启动,我无法使用kubectl来更新它。我有一个ssh连接到它运行的节点,我可以看到kubelet是如何使用格式错误的命令每隔几秒钟运行一次APIServerPod的。我正在尝试配置kubelet服务
有没有办法找到给定Docker容器ID的pod名称
我可以用“kubectl Descripte pods”的另一种方法,但是我必须在所有的pods上运行它。是的,您可以使用以下kubectl请求获得给定容器ID的pod名称:
kubectl get pod -o jsonpath='{range .items[?(@.status.containerStatuses[].containerID=="docker://<container_id>")]}{.metadata.name
标签: Kubernetes
x509certificatekubernetes-apiserver
我们的Kubernetes 1.6集群在2017年4月13日构建时生成了证书
2017年12月13日,我们的集群升级到1.8版,并生成了新的证书[显然,证书集不完整]
2018年4月13日,我们开始在Kubernetes api服务器仪表板中看到以下消息:
[authentication.go:64]由于错误而无法对请求进行身份验证:[x509:证书已过期或无效,x509:证书已过期或无效]
尝试将/etc/kubernetes/kubelet.conf中的客户端证书和客户端密钥指向12月13日
当我尝试测试kubectl的配置时
kubectl get svc
我明白了
错误:服务器没有资源类型“svc”
当我尝试这个命令时
kubectl get services
我得到一个错误:
与服务器localhost:8080的连接被拒绝-是否指定了正确的主机或端口
我按照这个用户指南在我的mac上部署kubernetes应用程序
您需要像这样为kubectl指定kubeconfig
kubectl --kubeconfig .kube/config get nodes
制作配
我正在尝试使用kubeadm实现k8s的高可用性。我在看文件
在正式文件中,建议为kube APIS服务器配备故障切换机制/负载平衡器。我尝试了keepalived,但在aws/gcp Instances上进行设置时,由于不支持多播,因此我不允许使用它,因此它会导致大脑分裂。有什么办法可以解决这个问题吗?没有,您需要一个负载平衡器来使用kubeadm实现HA
如果使用AWS/GCP,为什么不考虑在这些环境中使用本地负载均衡器,比如ELB或谷歌云负载均衡器? < P>是一个容器编排系统,用于自动化
我正在对elasticsearch图像执行一个简单的滚动更新。我使用的命令是
kubectl set image deployment master-deployment elasticsearch={private registry}/elasticsearch:{tag}
但是,elasticsearch总是在滚动更新后获得IOException
原因:java.io.IOException:未能读取[id:60,遗留:false,文件:/var/lib/elasticsearch/nod
kubectl descripe nodes提供有关CPU和内存等资源的请求和限制的信息。但是,api端点api/v1/nodes不提供此信息
或者,我也可以点击api/v1/pods端点来获取每个pod的信息,我可以在节点之间积累这些信息。但是,是否已经有一个kubernetes API端点提供与每个节点的cpu/内存请求和限制相关的信息?从我在文档中找到的,负责该端点的是kubernetes API服务器
CPU和内存都是一种资源类型。资源类型有一个基本单位。CPU是以核为单位指定的,内存是
我有两个问题:
我在kubernetes集群上有一个节点,我想知道CPU请求之间的区别,这个映像的限制我知道部署文件上的限制和请求之间的区别但这似乎有所不同
图中显示了吊舱分配容量(到目前为止,我知道这是在特定时刻运行吊舱的极限)。我想知道这个容量中是否也包含待定的POD
这些值是节点上4个POD的值的总和,显示为节点上可用总资源的一小部分。例如,节点上最多可以有110个吊舱,而当前有4个。您可以使用它来了解节点何时接近“满”(即,如果其中一个指标几乎满了,那么kubernetes很可能会向该节
我需要允许来自多个来源的请求:http://localhost:4200,http://localhost:4242等,在nginx ingress 1.7.1版上。但我无法对多个源代码执行此操作,因为nginx.ingres.kubernetes.io/cors-allow-credentials:true将无法与nginx.ingres.kubernetes.io/cors-allow-origin:“*”一起使用。它会导致浏览器生成CORS错误。也许有人有办法避免这个错误
这是我的配置
我知道Kubernetes在GKE中使用的存储是完全管理的,没有公开。但我想知道存储大小是否有任何限制。我找不到任何澄清这一部分的链接
例如,我使用GKE运行小作业。我应该创建一个定期删除旧作业信息的批处理作业,还是根本不需要删除它们?GKE作业正在运行,一旦作业完成,API就不会运行。作业不会被删除,但会被终止
当作业终止时,意味着它不再运行,但您可以查看它的状态。终止的作业不会消耗太多资源
如果要保留日志记录,可以保留终止的作业
如果保留日志在您的用例中没有任何好处,那么您可以删除旧作业
最
我正在尝试使用Amazon的弹性Kubernetes服务配置弹性ip,以便公开静态公共ip地址。到目前为止,公开静态公共IP地址的唯一方法似乎是通过负载平衡器,这是一种浪费,因为我有一个用于服务的静态私有IP地址端点,但没有公开的方法。我只需要运行一个服务实例,因为这里不需要HA。我已经尝试了我能想到的一切,甚至手动配置一个弹性ip,但如果这是一个解决方案,那么步骤似乎有点复杂,而且你不得不做这样的事情似乎很奇怪 简短回答:恐怕通过K8s是不可能的。如果您不想浪费EIP,那么为什么不使用入口控制
是否有kubectl delete all--all命令或其他命令的变体来删除除kubernetes服务之外的所有资源?我不认为它有内置命令,这意味着您必须编写脚本来摆脱它,类似这样的事情(为您想要备用的名称空间添加if):
注意:删除命名空间将删除其所有资源
$ for ns in $(kubectl get ns --output=jsonpath={.items[*].metadata.name}); do kubectl delete ns/$ns; done;
我正在尝试在基于kubeadm的K8上启用审计选项。(v1.11.2)
但是在我在/etc/kubernetes/manifests/kube apiserver.yaml上添加了--审核策略文件标志后,它将不会启动并打印没有这样的文件或目录错误
这是我的kube-apiserver.yaml文件
apiVersion: v1
kind: Pod
metadata:
annotations:
scheduler.alpha.kubernetes.io/critical-pod: ""
我想在pods创建上创建一个webhook。Kubernetes与minikube一起运行,这就是为什么对于ca_bundle,我使用minikube/certs文件夹中ca.pem的路径。但是,我在应用webhook配置时遇到了这样一个错误:
error: unable to recognize "pods-webhook.yaml": Get https://minikube-ip:8443/api?timeout=32s: dial tcp minikube-ip:8443: connec
我正在用ansible建立kubernetes集群。尝试启用内核IP路由时出现以下错误:
Failed to reload sysctl: sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: No such file or directory
这是ansible中的错误还是我的剧本有问题
---
# file: site.yml
# description: Asentaa ja kaynnistaa kubern
我正在寻找一些线索,看看哪种解决方案可以帮助我解决在两个虚拟机之间运行kubernetes群集的问题
我从Kubernetes及其所有可能性开始,但和所有人一样,我从一个minikube单节点集群开始,托管我的4个容器,分别托管mongoDB、redis、rabbitMQ和minio
我的想法是,我需要像minikube这样的东西来创建这样的集群:
此外,这两个虚拟机将在RedHat EL 7上运行,并且不是本地的,它们可能托管在不同的机器上
是否可以使用kubeadm构建该体系结构?
我可能
我只是想知道是否有人想出了一种声明性的方法,将helm图表作为集群启动的一部分进行安装/配置,并将其检查到源代码管理中。使用Kuberenetes,我已经非常习惯了“一切都是代码”的工作流类型,并且我意识到安装和配置helm主要基于通过CLI的命令式工作流
我提出这个问题的原因是,目前我们正在开发集群,并将在生产中重新创建它。我们的大多数配置都是通过deployment.yaml文件以声明方式完成的。然而,我们花了大量时间安装和配置某些头盔图表,如普罗米修斯、格拉法纳等。有一个类似或的工具,允许
我在CentOS中设置了Kubernetes,其中有一个主节点和一个单独的节点。添加了Ambassador GW,后来又添加了一项带有映射的服务。当我尝试使用GW映射访问最终服务时,它会响应无健康上游消息。在我的情况下,映射是正确的,但服务实际位于与Ambassador不同的命名空间中。我在服务名称中缺少.namespace:
因此,将服务从
服务:
到服务:。这可能在上处理得更好,那里有一个#embassador频道。至少,查看有问题的映射将非常有用。。。
我能够从主节点上删除污染,但我的两个工人节点在裸机上安装了Kubeadmin,即使在发出删除它们的命令后,它们仍保留着无法访问的污染。它说已经移除,但不是永久性的。当我检查污染仍然存在的时候。我也尝试过打补丁并设置为null,但这不起作用。我在SO或其他任何地方发现的唯一一件事是和master有关的,或者假设这些命令可以工作
更新:我检查了污点的时间戳,并在删除时再次添加。那么,节点在什么意义上是不可访问的呢?我可以打它。我是否可以运行kubernetes诊断程序来找出它是如何无法访问的?我检查
创建入口遵循GKE上“Kubernetes in Action”一书的指南,但入口不起作用,可以从入口的公共IP地址访问
创建复制集以创建pod
创建服务。(遵循“Kubernetes in Action”上的节点端口方法)
创建入口
复制集、服务、入口创建成功,节点端口可以从公共IP地址访问,入口没有不健康
复制集:
apiVersion: apps/v1beta2
kind: ReplicaSet
metadata:
name: kubia
spec:
replicas: 3
s
我刚刚阅读了Kubernetes文档中关于部署Cassandra和有状态集的主题。
部署过程:
1.创建StorageClass
2.在我的案例4 PersistentVolume中创建PersistentVolume。在1 storageClassName中创建的集合
3.创建卡桑德拉无头服务
4.使用StatefulSet在StatefulSet yml定义的1 storageClassName中创建Cassandra环设置
因此,共有4个吊舱:Cassandra-0、Cassandra-1
我正在使用KubernetesAPI在节点中部署部署。更新部署映像时,我获得了200个状态。但是映像名称错误,因此部署更新已停止,并出现errImagePull错误。kubernetes中是否有错误回调机制,或者我必须手动调试它?在大多数情况下,您必须手动调试它,并且异步运行;但是你有一些东西可以看
有关于它控制的豆荚数量处于何种状态的数据。最容易检查的是所有副本计数都匹配,尽管这不是100%。要检查的稍微棘手的事情是:;该文档中列出了一些状态组合
您可以做的另一件事是获取部署的pod选择器,然
我是库伯内特家的新手。我想为我的EKS kubernetest集群设置活动性。我浏览了下面的文档
我有几个问题来设置上述内容
当我应用LivenessExec时,我是否需要提到任何特定的名称空间,例如
kubectl应用-fhttps://k8s.io/examples/pods/probe/exec-liveness.yaml -n kube系统
我可以直接从k8s.io/example使用yaml文件,还是需要在本地克隆
这些东西是怎么运作的?到目前为止我所了解的是
a) 当我们部署pod时
我是库伯内特世界的新手,所以如果我写错了,请原谅我。我正在尝试部署kubernetes仪表板
我的群集包含三个主节点和三个工作节点,它们已耗尽且不可调度,以便将仪表板安装到主节点:
[root@pp-tmp-test20 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
pp-tmp-test20 Ready master
我正试图跟随库伯内特斯的故事。但是我没有将资源安装在default名称空间中,而是使用一个名为qa的名称空间。在步骤5中,我遇到了一个问题。当我尝试卷曲productpage时,得到以下响应:
上游连接错误或在标头之前断开/重置。重置原因:连接终止
但是,如果我遵循相同的示例,但使用default名称空间,则会从productpage获得成功的响应
你知道为什么我的qa命名空间会出现这种情况吗
Istio版本:
client version: 1.2.4
citadel version: 1.2
我甚至不知道这是否可能,但这是否明智?我不知道,但我认为主节点不必像工作节点那样处理那么多。基于这一假设,我希望通过将我的主机迁移到我的RPiV4(具有4GB ram)上,使其尽可能节能。构建混合体系结构集群需要对自1.12版以来提供的主要Kubernetes发行版进行一些改进。Kubernetes有一段时间拥有AMD64和ARM64映像,但为了能够透明地创建混合集群,需要将Docker清单推送到存储库,其中主映像标记指向标记的架构映像。
我真的建议您查找这些文章:
我希望它能帮助您。
以下是我正在运行的作业列表:
>kubectl get jobs
NAME COMPLETIONS DURATION AGE
create-samplenames 1/1 32s 25h
download-db 1/1 20s 26h
download-fastq 1/1 20s 26h
download-scri
我正在尝试备份和恢复rancher服务器(单节点安装),因为
备份后,我尝试关闭rancher服务器节点,并在新节点上运行一个新的rancher容器(在同一网络中,但在另一个ip地址),然后运行
恢复后,我登录到rancher UI,它显示以下错误:
所以,我检查了rancher服务器的日志,它显示如下:
2019-10-05 16:41:32.197641 I| http:TLS握手错误来自127.0.0.1:38388:EOF
2019-10-05 16:41:32.202442 I| h
当我在没有docker的情况下测试Spring boot应用程序时,我会使用以下工具进行测试:
https://localhost:8081/points/12345/search
而且效果很好。如果我使用http
现在,我想在本地使用Kubernetes部署它,url:https://sge-api.local
当我使用http时,我会得到与不使用docker时相同的错误
但当我使用https时,我得到:
<html><body><h1>404 Not F
标签: Kubernetes
bambookubernetes-ingresskubernetes-deployment
我在玩k8s部署,更改了服务、容器和入口的端口。我很想知道部署是如何工作的
我的设想:
部署一个承载2个端点的rest服务应用程序
案例1:
集装箱港口:8081-#集装箱港口
端口:8081#服务端口
目标港:8081
主机1端口:8081#入口端口
主机2端口:8081
结果:按预期使用竹管成功部署
案例2:
集装箱港口:8080-#集装箱港口
端口:8080#服务端口
目标港:8081
主机1端口:8081#入口端口
主机2端口:8081
结果:部署失败,但运行状况检查和所有端点都正常工作
这是我的skaffold文件:
apiVersion: skaffold/v1
kind: Config
metadata:
name: app-skaffold
build:
artifacts:
- image: myappservice
context: api-server
deploy:
helm:
releases:
- name: myapp
chartPath: chart/myapp
在我的Helm templates文件夹
正在尝试应用deployment.yaml,但在输入字节8处获得错误非法的base64数据
在my config.json中
"auths": {
"https://index.docker.io/v1/": {
"auth": "16c...ad7"
}
}
我已经把docker中心的令牌放进去了
登记秘密
kubectl create secret generic regcred --from-file=.dockerconf
我正在尝试从群集中的节点解析群集中的内部DNS。
示例:dig@10.96.0.10 kubernetes.local(10.96.0.10是DNS的服务IP)
我希望获得服务的IP(本例中为10.96.0.1),但连接超时。
只有当我尝试通过UDP从群集中的主机连接到服务时,才会出现此问题,而服务的吊舱不在我连接的节点上。
如果我尝试从运行在同一节点上的Pod连接,它将按预期工作。
如果我尝试直接连接到播客而不是服务,它将按预期工作。
如果我尝试通过TCP而不是UDP连接到服务,它将按预期工作
我已经用kubeamd设置了一个kubernetes集群;一个控制平面和一个辅助节点
一切都很顺利。然后
我在worker节点上设置了一个Squid代理,并在kubeletconfig中设置了http\u代理=http://127.0.0.1:3128基本上要求kubelet使用代理与控制平面通信
我看到,使用tcpdump,网络数据包从worker节点降落到控制平面上,我也能够从worker发出以下命令
kubectl get no --server=https://10.128.0.63:6
我在默认命名空间中创建了serviceaccountdm sa,并在绑定到PodSecurityPolicy和clusterRoleBinding的clusterRole中使用了此serviceaccount。
接下来,在将在名称空间dm中运行的部署yamlwhich中,我在template:spec下指定了servicecomport:dm和servicecomportname:default。这样,kubernetes将在名称空间dm下搜索dm sa,而不是在默认名称空间下搜索。如何解决这个
我想让某个团队访问系统:RBAC中的masters组。我的团队AWSReservedSSO_Admin_uuxxxxxxxxx在下面的示例中已经有了它,当我只添加了一个rolearn时,它就可以工作了,但是当我使用额外的rolearn应用下面的configmap时,AWSRervedSSO_Dev_uuxxxxxxxxx角色下的用户在尝试访问群集时仍会遇到此错误:错误:您必须未经授权登录到服务器
注意:我们使用的是AWS SSO,因此假定IAM角色为:
--
版本:v1
种类:配置地图
数据:
我有一个Django应用程序,作为部署运行在Kubernetes集群内的Apache上。应用程序正在端口8080上运行,应用程序根目录为“/”。当有人输入/tascaty时,我希望我的入口重定向到我的应用程序,但当我在入口资源中以/tascaty的身份输入路径时,这不会发生。但当我设置路径时,它会工作。下面是我的应用程序的详细信息
应用程序的Apache配置文件:
听8080
WSGIDaemonProcess tascaty_dev python path=/usr/local/lib/pyt
请查找我们正在使用的terraform脚本的GitLab repo。
在terraform plan中运行时,弹性搜索的all-in-one.YAML文件中出现以下错误
Error: Error in function call
on kubernetes.tf line 49, in locals:
49: resource_list = yamldecode(file("${path. module}/all-in-one.yaml")).items
|--
我试图找到一个解决方案,利用相同的AmazonEFS在Kubernetes部署中挂载多个目录。这是我的用例
我有一个名为app1的应用程序,它需要将名为“/opt/templates”的目录持久化到EFS
我有另一个名为app2的应用程序,它需要将名为“/var/logs”的目录持久化到EFS
我们将应用程序作为Kubernetes吊舱部署在Amazon EKS集群中。如果我对上述两个装载使用相同的EFS,我可以看到目录“/opt/templates”和“/var/logs”中的所有文件,就
我正在开发一个带有web服务和持久层的简单web应用程序。Web持久层是Cockroach db。我正在尝试使用单个命令部署我的应用程序:
kubectl apply -f my-app.yaml
应用程序已成功部署。但是,当后端必须在db中存储某些内容时,会出现以下错误:
dial tcp: lookup web-service-cockroach on 192.168.65.1:53: no such host
postgresql://root@web-service-db:26257
当我试图在kubernetes集群上安装zabbix时,我使用下面的命令将chart helm zabbix的默认值导出到文件$HOME/zabbix_values.yaml中
helm show values cetic/zabbix > $HOME/zabbix_values.yaml
但是,我得到了以下错误:
错误:“头盔”的未知命令“显示”
运行“helm--help”以了解用法。
但helm--帮助不会显示在命令列表中。
我是否需要安装任何helm插件或建议任何其他替代方案。您