当前位置: 首页 > news >正文

网站哪个公司好便捷网站建设费用

网站哪个公司好,便捷网站建设费用,建e网app下载,网站访问统计 曲线图Secret 和 ConfigMap 资源对象是命名空间级别的。它们只能被同一命名空间中的 Pod 引用。所以有时候不得不手动为每个命名空间创建它们。但有很多场景#xff0c;我们想让它们是全局的#xff0c;至少可以是跨命名空间共享的 Secret 和 ConfigMap#xff0c;例如这些场景我们想让它们是全局的至少可以是跨命名空间共享的 Secret 和 ConfigMap例如这些场景所有命名空间都有相同的私有注册表避免为每个命名空间创建相同的 SecretKubeshere 中 Devops 项目中的 harbor 凭证、源代码仓库的凭证如何自动化的在跨命名空间甚至跨 Kubernetes 集群之间“同步”这些配置有很多方法。本文就此用例讨论并用凭证在 Kubesphere Devops 项目之间同步做示例。可选的方案脚本使用 jq实现简单的同步kubectl get secret cure-for-covid-19 -n china -o json \| jq del(.metadata[namespace,creationTimestamp,resourceVersion,selfLink,uid]) \| kubectl apply -n rest-of-world -f -用 sed 实现简单的同步kubectl get secret cure-for-covid-19 -n china -o json \| jq del(.metadata[namespace,creationTimestamp,resourceVersion,selfLink,uid]) \| kubectl apply -n rest-of-world -f -上面这两种可定制化不强还是手动方式。ClusterSecret要跨命名空间自动共享或同步 Secret可以使用 Python 开发的 ClusterSecret Operatorhttps://github.com/zakkg3/ClusterSecretClusterSecret Operator 通过 ClusterSecret CRD 去管理。确保所有匹配的包括新创建的) 命名空间都有可用的 Secret。ClusterSecret 上的任何更改都会更新所有相关的 Secret。删除 ClusterSecret 也会删除所有克隆的 Secret。kubernetes-reflectorC#开发的 Kubernetes 反射器https://github.com/EmberStack/kubernetes-reflector它将存储在 Secret 中的凭据或证书自动传播到所有命名空间并保持同步修改源会更新所有副本。该扩展允许您通过注释自动复制和保持跨命名空间的 Secret在源 Secret 上添加注释annotations:reflector.v1.k8s.emberstack.com/reflection-auto-enabled: true这将在所有命名空间中创建密钥的副本。您可以使用以下方法限制创建副本的命名空间reflector.v1.k8s.emberstack.com/reflection-allowed-namespaces: namespace-1,namespace-2,namespace-[0-9]*不足Kubernetes-reflector 和 ClusterSecret 已经很强大但还是美中不足。ClusterSecret 不支持 ConfigMaps 的同步和跨集群的同步只是简单的通过 matchNamespace和 avoidNamespaces 实现模糊的匹配和不匹配。Kubernetes-reflector 不支持跨集群同步也是通过正则表达式实现了目标命名空间的模糊匹配。就项目的 README来看二者都不支持 label 选择 namespace用户在 Kubesphere 上创建 Devops 项目不可能永远遵循模糊匹配表达式。Config Syncer以前的名称为 Kubedhttps://github.com/kubeops/config-syncerConfig Syncer 可以 保持 ConfigMaps 和 Secrets 在命名空间和集群之间同步。使用 Go 语言开发官方文档也比较细致。参考官方文档安装https://appscode.com/products/kubed/v0.12.0/setup/install/安装 config-syncer添加 Helm 仓库和更新仓库$ helm repo add appscode https://charts.appscode.com/stable/ $ helm repo update搜索可用的最新安装包#  helm search repo appscode/kubed --version v0.13.2 NAME            CHART VERSION   APP VERSION     DESCRIPTION appscode/kubed  v0.13.2         v0.13.2         Config Syncer by AppsCode - Kubernetes daemon拉取到本地并解压helm fetch  appscode/kubed --version v0.13.2 tar -zxf kubed-v0.13.2.tgz cd kubed/修改 values.yamlconfig:# Set cluster-name to something meaningful to you, say, prod, prod-us-east, qa, etc.# so that you can distinguish notifications sent by kubedclusterName: dev# If set, configmaps and secrets from only this namespace will be syncedconfigSourceNamespace: # kubeconfig file content for configmap and secret syncerkubeconfigContent: 这里的 config.clusterName 默认为 unicorn如果不修改kubed 同步之后的资源对象的 label 上会为 kubed.appscode.com/origin.cluster: unicorn所以出于规范考虑建议集群名设置为真实的集群名。如果 kubed 只在本集群内同步就不需要填写 kubeconfigContent 了。执行安装$ helm install config-sync -f values.yaml  -n kubed --create-namespace . NAME: config-sync LAST DEPLOYED: Fri May 20 19:43:00 2022 NAMESPACE: kubed STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: To verify that Config Syncer has started, run:kubectl get deployment --namespace kubed -l app.kubernetes.io/namekubed,app.kubernetes.io/instanceconfig-sync查看 Pod 启动是否成功$ kubectl get pod --namespace kubed -l app.kubernetes.io/namekubed,app.kubernetes.io/instanceconfig-sync NAME                                 READY   STATUS    RESTARTS   AGE config-sync-kubed-8687c98ffb-ldsvz   1/1     Running   0          3m50s$ kubectl get deployment --namespace kubed -l app.kubernetes.io/namekubed,app.kubernetes.io/instanceconfig-sync NAME                READY   UP-TO-DATE   AVAILABLE   AGE config-sync-kubed   1/1     1            1           3m53s在 Kubesphere 中实践Kubeshere Devops 项目中的 harbor 凭证、源代码仓库的凭证有时候每个项目都是一样的所以没必要每次创建 Devops 项目都去手动创建凭证一切都变的自动化才是正道。Kyverno 规则需要提前创建一个 Kyverno 规则创建这个的目的下面会做说明。cat EOF | kubectl apply -f - apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata:generation: 10name: mutate-credential-secret spec:background: truefailurePolicy: Failrules:- exclude:resources:namespaces:- kubesphere-devops-systemgenerate:clone: {}match:resources:kinds:- Secretselector:matchLabels:kubed.appscode.com/origin.namespace: kubesphere-devops-systemmutate:patchStrategicMerge:metadata:labels:participant: kyvernofinalizers:- finalizers.kubesphere.io/credentialtype: credential.devops.kubesphere.io/basic-authname: mutate-credential-secret EOF可以参考 Kyverno 官方文档 sample-examplehttps://kyverno.io/docs/writing-policies/match-exclude/#resource-filters源 Secret我们将kubesphere-devops-system命名空间中的凭证作为同步的来源cat EOF | kubectl apply -f - kind: Secret apiVersion: v1 metadata:name: common-encodenamespace: kubesphere-devops-systemlabels:app: common-encodeannotations:kubed.appscode.com/sync: kubesphere.io/devopsprojectkubesphere.io/creator: adminkubesphere.io/description: 密码经过UrlEncode data:id: XXpassword: XXusername: XX type: will-be-modify-by-kyverno --- kind: Secret apiVersion: v1 metadata:name: commonnamespace: kubesphere-devops-systemlabels:app: commonannotations:kubed.appscode.com/sync: kubesphere.io/devopsprojectkubesphere.io/creator: adminkubesphere.io/description: 公用账户 data:password: XXusername: XX type: will-be-modify-by-kyverno EOF参考 kubed 官方文档https://appscode.com/products/kubed/v0.12.0/guides/config-syncer/intra-cluster/源 Secret 必须指定注解kubed.appscode.com/sync: kubesphere.io/devopsproject表明目标命名空间中必须包含label key为kubesphere.io/devopsprojectKubesphere的Devops项目默认包含这个label key。需要说明的是Kubesphere 根据 Secret 的 type 字段前缀有credential.devops.kubesphere.io/就会处理。为了避免 kubesphere-devops-system 下的源 Secret 被 ks-controller-manager 同步。所以源 Secret 的 type 不可为type: credential.devops.kubesphere.io/basic-auth源 Secret type 可以自定义一个type: will-be-modify-by-kyverno通过 kyverno 修改为type: credential.devops.kubesphere.io/basic-auth目标命名空间下面这个 Devops 项目作为命名空间k get ns -l kubesphere.io/devopsproject NAME                       STATUS   AGE test-ns1xxx                Active   133d同步结果创建之后就在存在 label key为kubesphere.io/devopsproject的 namespace 下创建了同名 Secret$  k get secret -A | grep common kubesphere-devops-system          common                                                          will-be-modify-by-kyverno                    2      29s kubesphere-devops-system          common-encode                                                   will-be-modify-by-kyverno                    3      13m test-ns1xxx                       common                                                          credential.devops.kubesphere.io/basic-auth   2      28s test-ns1xxx                       common-encode                                                   credential.devops.kubesphere.io/basic-auth   3      13m同步之后kubed 会加一些 labelskubed.appscode.com/origin.clusterkubed.appscode.com/origin.namekubed.appscode.com/origin.namespace和 annotationskubed.appscode.com/originapiVersion: v1data:id: XXpassword: XXusername: XXkind: Secretmetadata:annotations:kubed.appscode.com/origin: {namespace:kubesphere-devops-system,name:common-encode,uid:a649bc60-0197-4ec2-914b-b6412d2c7d29,resourceVersion:589340738}labels:app: common-encodekubed.appscode.com/origin.cluster: unicornkubed.appscode.com/origin.name: common-encodekubed.appscode.com/origin.namespace: kubesphere-devops-systemname: common-encodenamespace: des-nstype: will-be-modify-by-kyverno而且会将同步源 Secret 中设置的注解去掉kubed.appscode.com/sync: kubesphere.io/devopsproject总结Kubed 可以跨 Kubernetes 命名空间、跨集群同步 ConfigMaps/Secrets。而且暴露了各种监控指标可以满足大多数配置同步场景。- END -后台回复“加群”带你进入高手交流群推荐阅读还怕记不住 Kubectl 命令K9s 太强大了Kubernetes 微服务最佳实践Kubernetes Pod 删除操作源码解析使用 Lux 下载B站视频真强大38 万K8s API 服务暴露在公网上可能被攻击大规模 K8s 集群性能瓶颈和调优实践优雅的跨 Namespace 同步 Secret 和 ConfigMapKruise 轻松让 K8S 应用实现渐进式交付图解 Kubernetes Pod 如何获取 IP 地址使用 Telepresence 轻松在本地调试 k8s 应用程序GitOps 工具选型33 款工具任你挑就在刚刚 k8s 1.24 正式发布来看功能总览Nomad 会替代 Kubernetes 吗两者如何选择Docker 入门终极指南详细版漫画轻松看懂如何用 Kubernetes 实现 CI/CD阿里开源的低代码引擎已收获 4.5K 星星新手必须知道的 Kubernetes 架构Kubernetes 架构核心点详细总结全网粉丝20W的头部大号专注云原生、Golang、Linux实用脚本效率工具免费CSDN下载回复【go】获取近 6 万 Star 的资源回复【1024】获取全种类IT资料回复【红包封面】获取超好看封面回复【加群】进入高手如云技术交流群分享、点赞和在看支持我们分享更多好文章谢谢 点个在看集群永保稳定
http://www.pierceye.com/news/676379/

相关文章:

  • 上海做网站较好的公司c 做网站
  • 代发货网站系统建设螺栓球网架
  • 做书的网站有哪些内容吗电商平台定制
  • 网站建设与推广长春云电脑永久免费版手机版
  • 营销型网站建设优化建站坂田建设网站
  • 大型网站方案自己做网站详细流程
  • 网站开发中为什么有两个控制层南昌网站建设技术托管
  • 网站如何加入百度联盟易名中国网站
  • 海报在线制作免费网站网站建设费用明细湖南岚鸿
  • 宝塔服务器搭建网站教程盐城网站建设兼职
  • 南京网站制作公司怎么样wordpress思维导图
  • 学校网站建设和维护情况沈阳网页设计公司有哪些
  • 安徽网站建设电话网站建设动态静态
  • 网站建设规划设计公司排名摄影公司网站开发
  • php安防企业网站源码seo中文
  • 用什么开发和建设网站最好wordpress登录安全插件
  • 做网站哪个服务商便宜wordpress添加script
  • dede wap网站外贸客户开发的渠道有哪些
  • 营销型网站网站设计免费域名注册 国外
  • 杭州网站制作公司网站厦门网站建设 首选猴子网络
  • 公司如何建站合肥网站设计
  • wordpress单页导出wordpress head 优化
  • 建筑模版东莞网站建设技术支持北京网页制作服务商
  • 网站html地图怎么做的wordpress 国内视频网站
  • 哪个网站做的简历比较好龙岗做网站公司icxun
  • 海外网站开发网站打开慢怎么回事
  • 外贸导向企业网站搜索引擎大全排名
  • 网站域名怎么做变更企业查询系统
  • 12306网站多少钱做的怎么研发软件app
  • 手机端建站井冈山保育院网站建设