Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linkerd 2.10(Step by Step)—将 GitOps 与 Linkerd 和 Argo CD 结合使用

Linkerd 2.10(Step by Step)—将 GitOps 与 Linkerd 和 Argo CD 结合使用

作者头像
为少
发布于 2021-07-07 03:20:06
发布于 2021-07-07 03:20:06
1.9K00
代码可运行
举报
文章被收录于专栏:黑客下午茶黑客下午茶
运行总次数:0
代码可运行

Linkerd 2.10 系列

Linkerd 2.10 中文手册持续修正更新中:

  • https://linkerd.hacker-linner.com

GitOps 是一种使用 Git 作为单一事实来源自动管理和交付 Kubernetes 基础设施和应用程序的方法。它通常利用一些软件代理来检测和协调 Git 中受版本控制的工件与集群中运行的工件之间的任何差异。

本指南将向您展示如何设置 Argo CD 以使用 GitOps 工作流程管理 Linkerd 的安装和升级。

具体来说,本指南提供了有关如何使用 Sealed Secrets 和 cert-manager 安全地生成和管理 Linkerd 的 mTLS 私钥和证书的说明。它还将向您展示如何将 auto proxy injection 功能集成到您的工作流程中。最后,本指南总结了遵循 GitOps 工作流程将 Linkerd 升级到更新版本的步骤。

本指南中使用的软件和工具仅用于演示目的。随意选择最适合您要求的其他产品。

您需要按照下一部分中定义的步骤将这个 example repository 克隆到您的本地机器并复制到您的 Kubernetes 集群中。

设置存储库

将示例存储库克隆到本地计算机:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/linkerd/linkerd-examples.git

这个存储库将用于演示 Git 操作,如本指南后面的 addcommitpush

向存储库添加一个新的远程端点以指向集群内 Git 服务器,这将在下一节中设置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd linkerd-examples

git remote add git-server git://localhost/linkerd-examples.git

为了简化本指南中的步骤,我们将通过端口转发与集群内 Git 服务器进行交互。因此,我们刚刚创建的远程端点以您的 localhost 为目标。

将 Git 服务器部署到集群中的 scm 命名空间:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl apply -f gitops/resources/git-server.yaml

在本指南的后面,Argo CD 将被配置为监视此 Git 服务器托管的存储库。

该 Git 服务器被配置为通过 git 协议作为 daemon 运行,对 Git 数据进行未经身份验证的访问。不建议将此设置用于生产用途。

确认 Git 服务器健康:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl -n scm rollout status deploy/git-server

将示例存储库克隆到集群内 Git 服务器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git_server=`kubectl -n scm get po -l app=git-server -oname | awk -F/ '{ print $2 }'`

kubectl -n scm exec "${git_server}" -- \
  git clone --bare https://github.com/linkerd/linkerd-examples.git

确认远程仓库克隆成功:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl -n scm exec "${git_server}" -- ls -al /git/linkerd-examples.git

确认您可以通过端口转发从本地存储库推送到远程存储库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl -n scm port-forward "${git_server}" 9418  &

git push git-server master

部署 Argo CD

安装 Argo CD:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl create ns argocd

kubectl -n argocd apply -f \
  https://raw.githubusercontent.com/argoproj/argo-cd/v1.6.1/manifests/install.yaml

确认所有 Pod 都准备好了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for deploy in "application-controller" "dex-server" "redis" "repo-server" "server"; \
  do kubectl -n argocd rollout status deploy/argocd-${deploy}; \
done

使用 port-forward 访问 Argo CD 仪表板:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl -n argocd port-forward svc/argocd-server 8080:443  \
  > /dev/null 2>&1 &

现在可以通过 https://localhost:8080 使用默认的 admin 用户名和 password 访问 Argo CD 仪表板。

默认管理员密码是自动生成的 Argo CD API 服务器 pod 名称。您可以使用 argocd account update-password 命令来更改它。

验证 Argo CD CLI:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
argocd_server=`kubectl -n argocd get pods -l app.kubernetes.io/name=argocd-server -o name | cut -d'/' -f 2`

argocd login 127.0.0.1:8080 \
  --username=admin \
  --password="${argocd_server}" \
  --insecure

配置项目访问和权限

设置 demo project 以对我们的 applications 进行分组:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl apply -f gitops/project.yaml

该项目定义了我们的应用程序可以使用的允许资源种类和目标集群的列表。

确认项目部署正确:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
argocd proj get demo

在仪表板上:

部署应用程序

部署作为所有其他应用程序的 "parent" 应用程序的 main 应用程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl apply -f gitops/main.yaml

"app of apps" 模式通常用于 Argo CD 工作流程来引导应用程序。有关更多 信息, 请参阅 Argo CD 文档。

确认 main 应用程序部署成功:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
argocd app get main

同步 main 应用程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
argocd app sync main

请注意,只有 main 应用程序是同步的。

接下来,我们将单独同步其余的应用程序。

部署 cert-manager

同步 cert-manager 应用程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
argocd app sync cert-manager

由于 cert-manager 0.16.0 和 kubectl <1.19 以及 Argo CD 使用的 Helm 3.2 存在问题, 本指南使用 cert-manager 0.15.0。请参阅 此处 的升级说明。

确认 cert-manager 正在运行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for deploy in "cert-manager" "cert-manager-cainjector" "cert-manager-webhook"; \
  do kubectl -n cert-manager rollout status deploy/${deploy}; \
done

部署 Sealed Secrets

同步 sealed-secrets 应用程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
argocd app sync sealed-secrets

确认 sealed-secrets 正在运行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl -n kube-system rollout status deploy/sealed-secrets

创建 mTLS trust anchor

在继续部署 Linkerd 之前,我们需要创建 mTLS 信任锚。然后我们还将设置 linkerd-bootstrap 应用程序来管理信任锚证书。

创建新的 mTLS 信任锚私钥和证书:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
step certificate create root.linkerd.cluster.local sample-trust.crt sample-trust.key \
  --profile root-ca \
  --no-password \
  --not-after 43800h \
  --insecure

确认新信任锚的详细信息(加密算法、到期日期、SAN 等):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
step certificate inspect sample-trust.crt

创建一个 SealedSecret 资源来存储加密的信任锚:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl -n linkerd create secret tls linkerd-trust-anchor \
  --cert sample-trust.crt \
  --key sample-trust.key \
  --dry-run=client -oyaml | \
kubeseal --controller-name=sealed-secrets -oyaml - | \
kubectl patch -f - \
  -p '{"spec": {"template": {"type":"kubernetes.io/tls", "metadata": {"labels": {"linkerd.io/control-plane-component":"identity", "linkerd.io/control-plane-ns":"linkerd"}, "annotations": {"linkerd.io/created-by":"linkerd/cli stable-2.8.1", "linkerd.io/identity-issuer-expiry":"2021-07-19T20:51:01Z"}}}}}' \
  --dry-run=client \
  --type=merge \
  --local -oyaml > gitops/resources/linkerd/trust-anchor.yaml

这将覆盖本地 gitops/resources/linkerd/trust-anchor.yaml 文件中 现有的 SealedSecret 资源。我们会将此更改推送到集群内 Git 服务器。

确认只更改了 spec.encryptedData

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git diff gitops/resources/linkerd/trust-anchor.yaml

提交并将新的信任锚 secret 推送到您的集群内 Git 服务器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git add gitops/resources/linkerd/trust-anchor.yaml

git commit -m "update encrypted trust anchor"

git push git-server master

确认提交成功推送:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl -n scm exec "${git_server}" -- git --git-dir linkerd-examples.git log -1

部署 linkerd-bootstrap

同步 linkerd-bootstrap 应用程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
argocd app sync linkerd-bootstrap

如果颁发者和证书资源出现降级状态,则 SealedSecrets 控制器可能无法解密 sealed 的 linkerd-trust-anchor secret。检查 SealedSecrets 控制器以获取错误日志。

出于调试目的,可以使用 kubectl -n linkerd get sealedsecrets linkerd-trust-anchor -oyaml 命令 检索 sealed resource。确保此资源与您之前推送到集群内 Git 服务器 的 gitops/resources/linkerd/trust-anchor.yaml 文件匹配。

SealedSecrets 应该已经创建了一个包含解密信任锚的 secret。从 secret 中检索解密的信任锚:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
trust_anchor=`kubectl -n linkerd get secret linkerd-trust-anchor -ojsonpath="{.data['tls\.crt']}" | base64 -d -w 0 -`

确认它与您之前在本地 sample-trust.crt 文件中创建的解密信任锚证书匹配:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
diff -b \
  <(echo "${trust_anchor}" | step certificate inspect -) \
  <(step certificate inspect sample-trust.crt)

部署 Linkerd

现在我们准备安装 Linkerd。我们刚刚检索到的解密信任锚 将使用 identityTrustAnchorsPEM 参数传递给安装过程。

在安装 Linkerd 之前,请注意 gloval.identityTrustAnchorsPEM 参数设置 为 "empty" 证书字符串:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
argocd app get linkerd -ojson | \
  jq -r '.spec.source.helm.parameters[] | select(.name == "identityTrustAnchorsPEM") | .value'

我们将在 linkerd 应用程序中使用 ${trust_anchor} 的值覆盖此参数。

在你的本地 gitops/argo-apps/linkerd.yaml 文件中找到 identityTrustAnchorsPEM 变量, 并将其 value 设置为 ${trust_anchor} 的值。

确保多行字符串缩进正确。例如。,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  source:
    chart: linkerd2
    repoURL: https://helm.linkerd.io/stable
    targetRevision: 2.8.0
    helm:
      parameters:
      - name: identityTrustAnchorsPEM
        value: |
          -----BEGIN CERTIFICATE-----
          MIIBlTCCATygAwIBAgIRAKQr9ASqULvXDeyWpY1LJUQwCgYIKoZIzj0EAwIwKTEn
          MCUGA1UEAxMeaWRlbnRpdHkubGlua2VyZC5jbHVzdGVyLmxvY2FsMB4XDTIwMDkx
          ODIwMTAxMFoXDTI1MDkxNzIwMTAxMFowKTEnMCUGA1UEAxMeaWRlbnRpdHkubGlu
          a2VyZC5jbHVzdGVyLmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE+PUp
          IR74PsU+geheoyseycyquYyes5eeksIb5FDm8ptOXQ2xPcBpvesZkj6uIyS3k4qV
          E0S9VtMmHNeycL7446NFMEMwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYB
          Af8CAQEwHQYDVR0OBBYEFHypCh7hiSLNxsKhMylQgqD9t7NNMAoGCCqGSM49BAMC
          A0cAMEQCIEWhI86bXWEd4wKTnG07hBfBuVCT0bxopaYnn3wRFx7UAiAwXyh5uaVg
          MwCC5xL+PM+bm3PRqtrmI6TocWH07GbMxg==
          -----END CERTIFICATE-----

确认只更改了一个 spec.source.helm.parameters.value 字段:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git diff gitops/argo-apps/linkerd.yaml

提交并将更改推送到 Git 服务器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git add gitops/argo-apps/linkerd.yaml

git commit -m "set identityTrustAnchorsPEM parameter"

git push git-server master

同步 main 应用程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
argocd app sync main

确认新的信任锚被 linkerd 应用程序选中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
argocd app get linkerd -ojson | \
  jq -r '.spec.source.helm.parameters[] | select(.name == "identityTrustAnchorsPEM") | .value'

同步 linkerd 应用程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
argocd app sync linkerd

检查 Linkerd 是否准备就绪:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
linkerd check

用 emojivoto 测试

部署 emojivoto 来测试自动代理注入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
argocd app sync emojivoto

检查应用程序是否健康:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for deploy in "emoji" "vote-bot" "voting" "web" ; \
  do kubectl -n emojivoto rollout status deploy/${deploy}; \
done

将 Linkerd 升级到 2.8.1

使用您的编辑器将 gitops/argo-apps/linkerd.yaml 文件中 的 spec.source.targetRevision 字段更改为 2.8.1

确认只更改了 targetRevision 字段:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git diff gitops/argo-apps/linkerd.yaml

提交并将此更改推送到 Git 服务器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git add gitops/argo-apps/linkerd.yaml

git commit -m "upgrade Linkerd to 2.8.1"

git push git-server master

同步 main 应用程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
argocd app sync main

同步 linkerd 应用程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
argocd app sync linkerd

确认升级成功完成:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
linkerd check

确认控制平面的新版本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
linkerd version

清理

所有应用程序都可以通过删除 main 应用程序来删除:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
argocd app delete main --cascade=true
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 黑客下午茶 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
0751-7.0.3-如何在CDP DC7.0.3中启用Kerberos
在前面的文章中,Fayson介绍了《0733-7.0.3-如何在Redhat7.6中安装CDP DC7.0.3》,这里我们基于这个环境开始安装Kerberos。Kerberos是一个用于安全认证的第三方协议,并不是Hadoop专用,你可以将其用于其他系统。它采用了传统的共享秘钥方式,实现了在网络环境下不一定保证安全的环境下,Client和Server之间的通信,适用于Client/Server模型,由MIT开发和实现。而使用CDP DC可以较为轻松的实现洁面后的Kerberos集成,本文Fayson主要介绍如何在Readhat7.2的CDP DC7.0.3环境中启用Kerberos。
Fayson
2020/02/24
1.5K0
0751-7.0.3-如何在CDP DC7.0.3中启用Kerberos
如何在CDH6.0.0-beta1中启用Kerberos
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 在前面的文章中,Fayson介绍了《如何在Redhat7.4安装CDH6.0.0_beta1》,这里我们基于这个环境开始安装Kerberos。关于CDH启用Kerberos的文章,前面Fayson也介绍过《如何在CDH集群启用Kerberos》和《如何在Redhat7.3的CDH5
Fayson
2018/07/12
8520
如何在Redhat7.3的CDH5.14中启用Kerberos
在前面的文章中,Fayson介绍了《如何在Redhat7.3安装CDH5.14》,这里我们基于这个环境开始安装MIT Kerberos。前面Fayson也介绍过《如何在CDH集群启用Kerberos》,当时的环境是Redhat6的,大家也可以看看Redhat6和7安装Kerberos有什么区别。
Fayson
2018/03/29
2.7K1
如何在Redhat7.4的CDH5.15中启用Kerberos
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 在前面的文章中,Fayson介绍了《如何在Redhat7.4安装CDH5.15》,这里我们基于这个环境开始安装MIT Kerberos。关于在CDH中启用Kerberos也可以参考之前的文章《如何在CDH集群启用Kerberos》,《如何在Redhat
Fayson
2018/07/12
1K0
0686-6.2.0-如何为CDH集群的JDK安装JCE策略文件
默认情况下, CentOS和RedHat5.5或更高的版本中,对Kerberos 票证使用AES-256加密,因此必须在集群所有节点的JDK中安装Java Cryptography Extension(JCE)无限制强度加密策略文件。在安装JCE文件的Kerberos集群中,服务启动时会报“java.security.InvalidKeyException: Illegal key size”异常。本篇文章Fayson主要介绍使用不同方式安装JCE加密策略文件以及如何禁用Kerberos的AES-256加密。
Fayson
2019/08/12
1.3K0
0686-6.2.0-如何为CDH集群的JDK安装JCE策略文件
0477-如何在Redhat7.4的CDH5.16.1中启用Kerberos
在前面的文章中,Fayson介绍了《0470-如何在Redhat7.4安装CDH5.16.1》,这里我们基于这个环境开始安装MIT Kerberos。本文Fayson主要介绍如何而在Redhat7.4的CDH5.16.1中启用Kerberos。
Fayson
2018/12/25
9150
0477-如何在Redhat7.4的CDH5.16.1中启用Kerberos
如何在Kerberos环境下修改启用HA的CDH集群HOSTNAME
Fayson在前面的文章《如何修改Kerberos的CDH集群的HOSTNAME》介绍了修改集群的HOSTNAME,在文章中并未提到集群启用HA的情况,本篇文章Fayson主要介绍在Kerberos环境下启用HA的CDH集群修改HOSTNAME。
Fayson
2018/11/16
6620
如何使用Java连接Kerberos的HBase
出于CDH集群安全考虑,在CDH集群中增加了Kerberos认证机制。因为HBase的存储系统是基于Hadoop的存储,所以通过HBase客户端访问HBase数据库时需要进行身份认证。在Linux下使用HBase客户端访问HBase数据时需要先kinit初始化Kerberos账号,认证完成后我们就可以直接使用HBase shell操作HBase了。通过Linux的Kinit命令可以方便的完成Kerberos的认证,那么在Java开发中如何完成Kerberos的登录认证呢?本篇文章主要讲述如何使用Java连接Kerberos环境的HBase。
Fayson
2018/03/29
5.9K0
如何使用Java连接Kerberos的HBase
0890-7.1.6-如何在CDP集群配置Kerberos高可用
1.文档编写目的 本篇文章主要介绍如何在CDP 7.1.6集群中配置Kerberos的高可用。 文档概述 1.如何在CDP7集群配置Kerberos高可用 2.验证 3.总结 测试环境 1.操作系统Redhat7.2 2.CDP7.1.6 3.使用root用户操作 2.备节点安装Kerberos服务 1.在备节点安装Kerberos服务,暂时不进行相关配置 [root@cdh1 ~]# yum install -y krb5-server openldap-clients krb5-workstation
Fayson
2022/08/31
1.2K0
0890-7.1.6-如何在CDP集群配置Kerberos高可用
0592-5.16.1-如何配置Kerberos高可用
对于一个启用了Kerberos的正式生产系统,还需要考虑KDC的高可用。而Kerberos服务是支持配置为主备模式的,数据同步是通过kprop服务将主节点的数据同步到备节点。本文主要讲述如何在CDH5.16.1中配置Kerberos服务的高可用。在前面的文章中Fayson介绍过《如何配置Kerberos服务的高可用》,但无论是CDH还是OS版本到较低,本文也主要是为了更新文档。
Fayson
2019/04/28
1.7K0
0592-5.16.1-如何配置Kerberos高可用
[1067]CDH6.3.2之Kerberos安全认证
Kerberos是一种计算机网络授权协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证。这个词又指麻省理工学院为这个协议开发的一套计算机软件。软件设计上采用客户端/服务器结构,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止重放攻击、保护数据完整性等场合,是一种应用对称密钥体制进行密钥管理的系统。
周小董
2021/11/11
1.2K0
[1067]CDH6.3.2之Kerberos安全认证
如何配置Kerberos服务的高可用
在前面的文章中Fayson介绍过《如何在CDH集群启用Kerberos》,对于一个启用了Kerberos的正式生产系统,还需要考虑KDC的高可用。而Kerberos服务是支持配置为主备模式的,数据同步是通过kprop服务将主节点的数据同步到备节点。本文主要讲述如何配置Kerberos服务的高可用。
Fayson
2018/03/29
4K1
如何配置Kerberos服务的高可用
如何在CDH启用Kerberos的情况下安装及使用Sentry(一)
本文档主要讲述如何在启用Kerberos的CDH集群中安装配置及使用Sentry。
Fayson
2018/03/29
3.5K2
如何在CDH启用Kerberos的情况下安装及使用Sentry(一)
如何在CDH6.0中启用Kerberos
在前面的文章中,Fayson介绍了《如何在Redhat7.4安装CDH6.0》,这里我们基于这个环境开始安装Kerberos。关于CDH启用Kerberos的文章,前面Fayson也介绍过《如何在CDH集群启用Kerberos》、《如何在Redhat7.3的CDH5.14中启用Kerberos》、《如何在Redhat7.4的CDH5.15中启用Kerberos》和《如何在CDH6.0.0-beta1中启用Kerberos》,通过本文,我们也可以来看看CDH6启用Kerberos有哪些不一样的地方。
Fayson
2018/09/29
4.1K0
如何在CDH启用Kerberos的情况下安装及使用Sentry(二)
使用beeline连接HiveServer2,创建columnread角色并授权test表s1列的读权限,将columnread角色授权给fayson_r用户组
Fayson
2018/03/29
3.6K0
如何在CDH启用Kerberos的情况下安装及使用Sentry(二)
如何在Kerberos与非Kerberos的CDH集群BDR不可用时复制数据
本文档描述了在Kerberos与非Kerberos的CDH集群之间BDR不可用的情况下实现数据互导。文档主要讲述
Fayson
2018/03/29
2.6K0
如何在Kerberos与非Kerberos的CDH集群BDR不可用时复制数据
如何修改Kerberos的CDH集群的HOSTNAME
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 在集群安装初期由于未规范集群HOSTNAME,带来集群管理的不便,现需要将CDH集群的HOSTNAME统一规范化,在修改HOSTNAME的过程中需要注意什么?本篇文章Fayson主要介绍如何修改Kerberos环境下的CDH集群的HOSTNAME。修改集群所有主机的hostna
Fayson
2018/07/12
1.5K0
如何将CDH集群的KDC从RedHat7迁移到RedHat6
本篇文章Fayson主要介绍如何将CDH集群中的KDC服务从RedHat7迁移到RedHat6。
Fayson
2018/08/03
5700
如何将CDH集群的KDC从RedHat7迁移到RedHat6
如何给Kerberos环境下的CDH集群添加Gateway节点
Gateway节点又称为客户端节点,通常用作访问Hadoop集群的接口机。它主要会部署一些客户端的配置,脚本命令,比如HDFS的core-site.xml,hdfs-site.xml以及hadoop的操作命令。
Fayson
2018/03/29
1.7K0
如何给Kerberos环境下的CDH集群添加Gateway节点
在CDP集群启用Kerberos手册
Kerberos协议主要用于计算机网络的身份鉴别(Authentication), 其特点是用户只需输入一次身份验证信息就可以凭借此验证获得的票据(ticket-granting ticket)访问多个服务,即SSO(Single Sign On)。由于在每个Client和Service之间建立了共享密钥,使得该协议具有相当的安全性。
大数据杂货铺
2021/10/09
1.7K0
相关推荐
0751-7.0.3-如何在CDP DC7.0.3中启用Kerberos
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验