草庐IT

k8smaster

全部标签

kubernetes - 更新 k8s ConfigMap 或 Secret 而不删除现有的

我一直在使用K8SConfigMap和Secret来管理我们的属性。我的设计非常简单,将属性文件保存在gitrepo中,并使用诸如ThoughtworksGO之类的构建服务器将它们自动部署为ConfigMaps或Secrets(在选择条件下)到我的k8s集群。目前,我发现我必须始终删除现有的ConfigMap和Secret并创建新的进行更新,如下所示:kubectldeleteconfigmapfookubectlcreateconfigmapfoo--from-filefoo.properties有没有一种简单的方法可以使上述步骤比删除当前更有效?如果在删除旧配置图且未创建新配置图的

kubernetes - 更新 k8s ConfigMap 或 Secret 而不删除现有的

我一直在使用K8SConfigMap和Secret来管理我们的属性。我的设计非常简单,将属性文件保存在gitrepo中,并使用诸如ThoughtworksGO之类的构建服务器将它们自动部署为ConfigMaps或Secrets(在选择条件下)到我的k8s集群。目前,我发现我必须始终删除现有的ConfigMap和Secret并创建新的进行更新,如下所示:kubectldeleteconfigmapfookubectlcreateconfigmapfoo--from-filefoo.properties有没有一种简单的方法可以使上述步骤比删除当前更有效?如果在删除旧配置图且未创建新配置图的

go - K8s Go 客户端库无法在 go get 上找到包

我们编写了一些Go代码来与我们的Kubernetes集群对话并获取暴露的服务的IP。我们这样做:(import"gopkg.in/kubernetes/kubernetes.v1/pkg/client/restclient")(importkubectl"gopkg.in/kubernetes/kubernetes.v1/pkg/client/unversioned")svc,err:=c.Services(k8sNS).Get(svcName)iferr!=nil{panic(l.Errorf("Couldnotretrievesvcdetails.%s",err.Error()))

go - 当使用 k8s.io/client-go 库更改 kubernetes 部署时,获得通知的最佳方式是什么?

上下文我正在编写一个使用k8s.io/client-go的脚本库(godocshere)来操作部署。特别是,我想为集群中的每个Deployment添加一个标签选择器。部署标签选择器是immutable.所以我的方法是:为每个Deployment创建一个副本,唯一的区别是名称以“-temp”为后缀。这是为了最大限度地减少现有部署的停机时间。删除原来的部署。重新创建原始Deployment,唯一的区别是多了一个标签选择器。删除临时部署。我不能只使用client-go库按顺序执行步骤1-4,因为我只想在API服务器认为上一步已完成时继续下一步。例如,在API服务器说原始Deployments

go - Cron 作业作为程序或原生 k8s 方式

我需要在K8S上创建一个Cron作业。有些作业每分钟运行一次,有些作业每5分钟运行一次(24/7)此作业需要对某些组件运行休息调用(获取)和检查可用性,如果有问题(发布)到其他系统的休息电话为了处理这个任务,我目前看到两种方法创建k8scronjob-这是原生k8sCRD并为其使用shell脚本,https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/PROS使用K8S原生方式处理此类问题缺点-很难调试,记录调试等创建k8s作业/cronjob-执行运行一个Golang程序,它将使用以下库作为cronjob

K8S集群实现外部访问(INGRESS)

环境:masternode01node02192.168.1.40192.168.1.41192.168.1.42INGRESS作用:Ingress是对集群中服务的外部访问进行管理的API对象。1.创建DEPLOYMENTPS:创建nginx和httpd[root@masteryaml]#vimnginx.yamlkind:DeploymentapiVersion:extensions/v1beta1metadata:name:nginxspec:replicas:3template:metadata:labels:app:nginxspec:containers:-name:nginxima

api - 客户端去: parse kubernetes json files to k8s structures

我想解析kuberneteslist文件(json/yaml)并能够将它们转换为k8s结构(以便稍后操作它们)我知道有NewYAMLOrJSONDecoder().Decode()函数(https://github.com/kubernetes/apimachinery/blob/master/pkg/util/yaml/decoder.go)可以读取json/yaml文件,但下一步是:如何将它们转换为k8s结构/类型?即例如,如果我读取带有命名空间对象的yaml文件,如何将其转换为核心/v1/命名空间接口(interface)问候, 最佳答案

k8s集群部署搭建

一.搭建环境win11 16G+1t    VMware虚机 4G+2G+2G二.拓扑图 master+2node三.ip划分四.前置条件配置完成,按照文档进行搭建即可,最终实现效果如下图 

【云原生】k8s 中的 hostNetwork 和 NetworkPolicy(网络策略)讲解与实战操作

文章目录一、hostNetwork介绍二、k8s网络策略NetworkPolicy三、Pod隔离的两种类型四、NetworkPolicy资源1)NetworkPolicy示例演示2)选择器to和from的行为五、总结一、hostNetwork介绍在k8s中,若pod使用主机网络,也就是hostNetwork=true。则该pod会使用主机的dns以及所有网络配置,默认情况下是无法使用k8s自带的dns解析服务,但是可以修改DNS策略或者修改主机上的域名解析(/etc/resolv.conf),使主机可以用k8s自身的dns服务。一般通过DNS策略(ClusterFirstWithHostNet

k8s搭建EFK(Elasticsearch,Kibana,Filebeat)

日志采集采用轻量级的Filebeat而不采用重量级的logstash,由于项目的过滤并不复杂,此处也不采用logstash进行过滤,而采用filebeat自身的过滤即可实现,因此省去logstash,不足欢迎指点。前期准备k8s集群测试过程中发现镜像有时会下载不了,此处采用将镜像先下载到本地,然后打上标签上传至harbor仓库,harbor仓库可自行搭建#下载dockerpulldocker.elastic.co/elasticsearch/elasticsearch:7.17.2dockerpulldocker.elastic.co/kibana/kibana:7.17.2dockerpul