- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当您使用minikube时,它会自动创建本地配置,因此可以使用了。似乎基于对kubectl config的引用,kubectl命令中支持多个集群。
在用于建立集群的文档中,有a reference to copying the relevant files to your local machine可以访问集群。我还发现了一个SO Q&A about editing your .kube/config to leverage azure remotely,可以编辑kube/config文件。
看起来环境变量$KUBECONFIG
可以引用这些配置文件的多个位置,内置默认值为~/.kube/config
(这是minikube创建的)。
如果我希望能够使用kubectl调用多个集群的命令,是否应该将相关的配置文件下载到新位置(例如,下载到~/gcloud/config
中,设置KUBECONFIG
环境变量以引用这两个位置?
还是在调用kubectl为集群指定配置时仅显式使用--kubeconfig
选项更好?
我不确定是否有某种合并配置文件的方法会更好,并利用kubectl config set-context
或kubectl config set-cluster
命令代替。 Kubernetes上有关Configure Access to Multiple Clusters"的文档似乎暗示着使用--kubeconfig
和这些kubectl config
命令的另一种方式。
简而言之,与多个单独的kubernetes集群进行交互的最佳方法是什么?权衡是什么?
最佳答案
If I want to be able to use
kubectl
to invoke commands to multiple clusters, should I download the relevant config file into a new location (for example into~/gcloud/config
, set theKUBECONFIG
environment variable to reference both locations?Or is it better to just explicitly use the --kubeconfig option when invoking kubectl to specify a configuration for the cluster?
kubeconfig
文件对于多集群操作非常有用,以便执行维护任务以及对一组集群(上下文和 namespace )进行事件管理,从而简化了基于比较配置, list 的故障排除问题。 ,K8s服务的资源和状态,容器,卷, namespace ,rs等。kubeconfig
文件可能是个好主意。混合方法可以根据服务层的分类来合并kubeconfig
文件->使用文件为团队->企业中的角色和职责(团队A ,teamB,…,teamN)也可以在其他很好的选择中理解。 kubeconfig
文件方案,请考虑kubectx + kubens,这是kubectlt
的非常强大的工具,可让您查看当前上下文(群集)和 namespace ,并可以在它们之间进行切换。 In short, what's the best way to interact with multiple separate kubernetes clusters and what are the trade offs?
kubeconfig
文件似乎更简单,即使将其与~/.kube/config
合并以供kubectl
默认使用,并且仅在带有--context kubectl
标志的集群/命名空间之间切换也是如此。另一方面,如果必须限制kubeconfig
的范围,则将它们隔离并使用--kubeconfig=file1
听起来是最好的方法。 kubeconfig
文件(知道其优先级会有所帮助)。 kubeconfig
。虽然您可以将配置合并到一起~/.kube/config
,它是手动的,可以使删除上下文更多kubectl
,则这是在使用哪个
kubeconfig 文件时生效的首选项。
--kubeconfig
标志
KUBECONFIG
环境变量(如果已指定$HOME/.kube/config
文件kubectl
命令使用的
kubeconfig 文件:
#
# using --kubeconfig flag
#
kubectl get pods --kubeconfig=file1
kubectl get pods --kubeconfig=file2
#
# or
# using `KUBECONFIG` environment variable
#
KUBECONFIG=file1 kubectl get pods
KUBECONFIG=file2 kubectl get pods
#
# or
# merging your kubeconfig file w/ $HOME/.kube/config (w/ cp backup)
#
cp $HOME/.kube/config $HOME/.kube/config.backup.$(date +%Y-%m-%d.%H:%M:%S)
KUBECONFIG= $HOME/.kube/config:file2:file3 kubectl config view --merge --flatten > \
~/.kube/merged_kubeconfig && mv ~/.kube/merged_kubeconfig ~/.kube/config
kubectl get pods --context=cluster-1
kubectl get pods --context=cluster-2
--minify
标志允许我们仅提取有关该上下文的信息,而
--flatten
标志允许我们保留未编辑的凭据。
KUBECONFIG
env var引用这两个文件位置。
gcloud
命令创建GKE集群(或检索其凭据)时,通常会修改您的默认
~/.kube/config
文件。但是,您可以将
$KUBECONFIG
设置为
gcloud
以将群集凭据保存到文件中:
KUBECONFIG=c1.yaml gcloud container clusters get-credentials "cluster-1"
kubeconfigs
对于同时处理多个上下文可能非常有用。
KUBECONFIG
环境变量中指定多个文件,可以暂时将
kubeconfig 文件缝合在一起,并在
kubectl
中全部使用它们。
#
# Kubeconfig in-memory merge
#
export KUBECONFIG=file1:file2
kubectl get pods --context=cluster-1
kubectl get pods --context=cluster-2
#
# For your example
# merging your kubeconfig file w/ $HOME/.kube/config (w/ cp backup)
#
cp $HOME/.kube/config $HOME/.kube/config.backup.$(date +%Y-%m-%d.%H:%M:%S)
KUBECONFIG= $HOME/.kube/config:file2: kubectl config view --merge --flatten > \
~/.kube/merged_kubeconfig && mv ~/.kube/merged_kubeconfig ~/.kube/config
kubectl get pods --context=cluster-1
kubectl get pods --context=cluster-2
kubectl
可以帮助您合并以下文件:
#
# Merging your kubeconfig file w/ $HOME/.kube/config (w/ cp backup)
#
cp $HOME/.kube/config $HOME/.kube/config.backup.$(date +%Y-%m-%d.%H:%M:%S)
KUBECONFIG=$HOME/.kube/config:file2:file3 kubectl config view --merge --flatten > \
~/.kube/merged_kubeconfig && mv ~/.kube/merged_kubeconfig ~/.kube/config
kubectl get pods --context=cluster-1
kubectl get pods --context=cluster-2
关于kubernetes - 如何配置kubectl与minikube和已部署的集群交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46125559/
我只是不喜欢 Logback 的 XML 或 Groovy 配置,而更喜欢用 Java 进行配置(这也是因为我将在初始化后的不同时间在运行时更改配置)。 似乎对 Logback 进行 Java 配置的
我的 sphinx 配置是: ================================ config/sphinx.yml development: bin_path: "/usr/loc
我们计划在生产服务器中部署我们的系统。我有兴趣了解更多有关优化网站性能的信息。 Sitecore 有哪些优化建议? (缓存,网络配置中的其他设置) 我们可以在 IIS 中做哪些优化? 找不到关于这些主
我有一个 Django 应用程序,可以处理网站的两个(或更多)部分,例如网站的“admin”和“api”部分。我还为网站的其余部分提供了普通的 html 页面,其中不需要 Django。 例如,我希望
我刚刚开始研究Docker。我有一个 Node 应用程序,可以调整大小和图像,然后在完成后向 aws 发送 SQS 消息。我已成功创建应用程序的 docker 镜像,并从本地计算机复制它,但遇到了无法
如何配置 checkstyle(在 Ant nt Maven 中)任务?我尝试了一点,但没有正确收到报告。这是我的 Ant 脚本。
我正在使用 Quartz 和 Spring 框架重写一个遗留项目。原始配置是 XML 格式,现在我将其转换为 Java Config。 xml 配置使用 jobDetail 设置触发器 bean 的作
tl;rd: 使用主键对数据库进行分区 索引大小问题。 数据库大小每天增长约 1-3 GB 突袭设置。 您有使用 Hypertable 的经验吗? 长版: 我刚刚建立/购买了一个家庭服务器: 至强 E
在安装 gcp 应用程序后,我们尝试使用 GCP 的图形 api 配置 Azure Active Directory saml 配置。我们正在遵循相同的 AWS graph api saml 设置 U
我刚刚了解了 spring security 并想使用 java hibernate 配置连接到数据库,但我发现的示例或教程很少。我通过使用 xml 配置找到了更多。我在这里使用 Spring 4.0
我们最近切换到 Java 8 以使用 java.time API(LocalDate、LocalDateTime,...)。因此,我们将 Hibernate 依赖项更新到版本 4.3.10。我们编写了
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《quarkus实战》系列的第六篇,咱
我是 NGINX 的新手,我正在尝试对我们的 ERP 网络服务器进行负载平衡。我有 3 个网络服务器在由 websphere 提供支持的端口 80 上运行,这对我来说是一个黑盒子: * web01.e
我们想使用 gerrit 进行代码审查,但我们在 webview 中缺少一些设置。 是否可以禁止提交者审查/验证他们自己的 提交? 是否有可能两个审稿人给 +1 一个累积它 到+2,以便可以提交? 谢
配置根据运行模式应用于 AEM 实例。在多个运行模式和多个配置的情况下,AEM 如何确定要选择的配置文件?假设以下配置在 AEM 项目中可用, /apps /myproject - con
我正在使用 Neo4j 服务器。我遇到了负载相对较低的问题。但是,响应时间相当长。我认为为请求提供服务的线程数太少了。有没有办法调整为 HTTP 请求提供服务的线程池的大小。那可能吗? 最佳答案 线程
我在/etc/default/celeryd 中有以下配置 CELERYD_NODES = "worker1 worker2 worker3" CELERYD_CHDIR = "path to pro
Plone 在其页面中显示来 self 的母语(巴西葡萄牙语)的特殊字符。但是,当我使用我创建的 spt 页面时,它会显示转义序列,例如: Educa\xc3\xa7\xc3\xa3o 代替 Educ
我正在尝试开始使用 Emacs/Clojure。安装 emacs 扩展的正确方法是什么。我正在尝试安装以下插件: https://bitbucket.org/kotarak/vimclojure 我已
我有一个简单的 C 项目结构: proj/ src/ docs/ build/ tests/ lib/ 尝试编写合适的 CMake 文件。 到目前为止我的尝试:http://pas
我是一名优秀的程序员,十分优秀!