zoukankan      html  css  js  c++  java
  • Kubernetes——k8s集群外主机通过kubectl访问集群

    k8s集群外主机通过kubectl访问集群

      你可以使用 Kubectl 命令行工具管理 Kubernetes 集群。kubectl 在 $HOME/.kube 目录中查找一个名为 config 的配置文件。你可以通过设置 KUBECONFIG 环境变量或设置 --kubeconfig 参数来指定其它 kubeconfig 文件。

      官网相关资源:

    使用 kubeconfig 文件组织集群访问

    配置对多集群的访问

    问题背景:

      需要在 kubernetes 集群外访问 kubernetes 中的资源对象。由于 kubectl 命令行工具管理 kubernetes 集群,需要 kubeconfig 的配置文件,其中包含获取访问 kube-apiserver 地址、证书、用户名等信息。

    环境准备:

    [root@k8s-master-01 ~]# kubectl get nodes
    NAME                            STATUS   ROLES                  AGE   VERSION
    k8s-master-01-192.168.153.201   Ready    control-plane,master   65m   v1.20.10
    k8s-master-02-192.168.153.202   Ready    control-plane,master   65m   v1.20.10
    k8s-worker-01-192.168.153.211   Ready    worker                 65m   v1.20.10
    k8s-worker-02-192.168.153.212   Ready    worker                 65m   v1.20.10
    [root@k8s-master-01 ~]# 

    操作配置:

      在 master 集群节点上执行如下命令:

    # 1 设置集群参数(注意:单master集群为master节点私网IP,高可用集群为虚拟IP)
    kubectl config set-cluster kubernetes 
      --server=https://192.168.153.200:16443 
      --certificate-authority=/etc/kubernetes/pki/ca.pem 
      --embed-certs=true 
      --kubeconfig=config
    
    
    # 2 设置客户端认证参数
    kubectl config set-credentials cluster-admin 
      --certificate-authority=/etc/kubernetes/pki/ca.pem 
      --embed-certs=true 
      --client-key=/etc/kubernetes/pki/admin.key 
      --client-certificate=/etc/kubernetes/pki/admin.pem 
      --kubeconfig=config
      
    # 3 设置上下文参数
    kubectl config set-context default 
      --cluster=kubernetes 
      --user=cluster-admin 
      --kubeconfig=config
      
    # 4 设置默认上下文
    kubectl config use-context default --kubeconfig=config

      当前目录下会生成 config 文件,config 文件内容如下:

    [root@k8s-master-01 ~]# cat config
    apiVersion: v1
    clusters:
    - cluster:
        certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMrakNDQWVLZ0F3SUJBZ0lVRDQ5Mndpd3E4Z2VqN0p6RnVLNjREZXNUSnJzd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0ZURVRNQkVHQTFVRUF3d0thM1ZpWlhKdVpYUmxjekFlRncweU1UQTNNamN4TmpNMU1URmFGdzB6TVRBMwpNalV4TmpNMU1URmFNQlV4RXpBUkJnTlZCQU1NQ210MVltVnlibVYwWlhNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCCkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEVHcwMHR1K2wxZ2Z1MzFmMjJncG51ekNXZUhZVTZOL0dmcUw4dzhkVlcKb0dqOVFlSnpOUmtmWVZ5bFRndm1USVA0Nzd6akJGdUl3elNIc204MVQ4RGZUUjJsM2RPbjRWMEQxTUhsUjFraApBTk80MU9idDUxM1BSZG9pc3ZFaHhBaTdwMm8vR295WG5Jd1ZOL2YxYU9FNlpBY1NzeHl2VHhNS0JmWXRRcEhTCnRxWnNvSUE5a1hrdzdhNzVrckd4anV0VWpyUGtKUzgzM09UdnJGQUUrUnFrbjIwMTIzU1BqMlhzR2t5aldCdUkKZFBRNUJreTNsK09zSUZZUERFZVI5LzRnM2ZFdENWU0Q3NnRGMmppT3BJSFZYVi9jcVowUXN2ZEtQbVQ4anZtRwplUDlYVXorRDRNeEpXa3VPakVvTUJYd0pNM05NdUZpWGJGaHVOSEd4cm1iSEFnTUJBQUdqUWpCQU1BNEdBMVVkCkR3RUIvd1FFQXdJQ3BEQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01CMEdBMVVkRGdRV0JCVEdkRm9aKzdha2MvMzgKNkhUSm05b0FRVzFDc1RBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQUlheTNvTThZQURBTlZPRmM1aXlzakdUaApua1ZGZjlBeW5PYW13bll1aTVScDhSY3ZlTlFYS2krRHVwZDE3VTBkMDZUZS9MejhnMVY3TlZyOHAwTjBUcm0wCjMybXVneTZueEp0aWc5VVk2bENIVUdkd3JCMGltWTg3bkJnNzlEWExFSVM1S2RmQjFBUWpaa0FpWWFwNmRhMDIKeVRQZGFBUnVvSjg5VG91ZnBwdzY3YkZ3SmpmaktpMVo5MzBxRHdKS1V5SEpGTTZ0aHVpWVFWZkNRZnBmaUtSegpEdnluYktRdUQrMms5UllLSEk2RXBWdzRiTHdXcTBMUWMrZXliSWV5N0x0Qjlad2QxZmdvNHJwT29odXJES0p4CjNVTTJsZ1hBcHZFOVV3U2Z3SlNBcUFRQ0MvcytqcUhmUjVTQmtLazY4UjRkSUIxVzFGRnNPQkM2TlFrd0J3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
        server: https://192.168.153.200:16443
      name: kubernetes
    contexts:
    - context:
        cluster: kubernetes
        user: cluster-admin
      name: default
    current-context: default
    kind: Config
    preferences: {}
    users:
    - name: cluster-admin
      user:
        client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURERENDQWZTZ0F3SUJBZ0lVTU9GR3lYWjBLY0hWUkhWR2gwclhSN2grSHpFd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0ZURVRNQkVHQTFVRUF3d0thM1ZpWlhKdVpYUmxjekFlRncweU1UQTNNamt4TmpJMk16WmFGdzB6TVRBMwpNamN4TmpJMk16WmFNRFF4RnpBVkJnTlZCQW9NRG5ONWMzUmxiVHB0WVhOMFpYSnpNUmt3RndZRFZRUUREQkJyCmRXSmxjbTVsZEdWekxXRmtiV2x1TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEKbkI5NDBsK0d4dzR0YkNhWlBTQnhrTzJUZ0pEVzZPdXBlQ0FiNEMxN2JrSThWWWpuWVZjVHBhSFFTMTdIV1I5UQpzRGhHbEVzYUJZOWRpK3ZZd0xqam4wYmo0ckpINWZ5WjhvL1d6L3FpMVhXQ1RPQUhOSDAyeE9zMnRmUnNjbVdQCjlEcVRQS1pTQ1pzWW1ROWhFb2lDbkE2eElSaEVManBQakhjK21vZFY5TnMzWFUzQUNPUjZXMncyR01HWHdWY0oKMHVxeG1VVEV5UitSNHlUZkdMSWVaOVNvdUVCYURHSVVSNURvaWZRYWxCZ2NTZENPR1p4TnBuYk9qS1hUanE4bAp6TnNBQzF0Y0RsbEZuaXlKdVhaSDFRa3pHV2NzN0l1Z09KT2tNWWxzM2orbDcwTkZBTXFycllyQ1NhRUdHa1owCnBNZHlWWU9qWTdkU0gvNytoWkxQYVFJREFRQUJvelV3TXpBT0JnTlZIUThCQWY4RUJBTUNCYUF3RXdZRFZSMGwKQkF3d0NnWUlLd1lCQlFVSEF3SXdEQVlEVlIwVEFRSC9CQUl3QURBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQQpYUnUrVFJleUFwR09sb0V4SlhacGY4VlBmOVZqcDhjVGc0eWI3L2g4ZnpZRWFaVXZqNThSc0cyZjRMRHl1VEN0Cm95NkhYM3lqU05wdlVQWHdWelJ3cHphWVo3TVVRa1JmVkNkUCtlbkdCSHU0VllLeHZnTjhVM0N2SjBldWdXR24KRmpFZC9OM1lnYmZKWGRhZFVNRnVsL0N1OE9TTUpXL1hsVS9QcUxKUjVKc01QVzVvZ25TS3l6R2FKSmJRUGRUZwpWR1hVeWVlT0V2Yy9Rd3FIdmNBb08reDQvRFJvMy9Gdi9vRUt5MmkrUVljUW5NQjhmc3loK3lQc2c0b1JxajgrCkt5MGhtNG5pbjFSWnpYMC9wbWJlWFpNT09IQ0pTbEFXazBMcGJtRG9SRUw1NU5lWlNwNUFUOFVXRG1TS3Y1MEwKS254ZHo2TmJ2V2ZUUzZhbEpzSzdsUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
        client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBbkI5NDBsK0d4dzR0YkNhWlBTQnhrTzJUZ0pEVzZPdXBlQ0FiNEMxN2JrSThWWWpuCllWY1RwYUhRUzE3SFdSOVFzRGhHbEVzYUJZOWRpK3ZZd0xqam4wYmo0ckpINWZ5WjhvL1d6L3FpMVhXQ1RPQUgKTkgwMnhPczJ0ZlJzY21XUDlEcVRQS1pTQ1pzWW1ROWhFb2lDbkE2eElSaEVManBQakhjK21vZFY5TnMzWFUzQQpDT1I2VzJ3MkdNR1h3VmNKMHVxeG1VVEV5UitSNHlUZkdMSWVaOVNvdUVCYURHSVVSNURvaWZRYWxCZ2NTZENPCkdaeE5wbmJPaktYVGpxOGx6TnNBQzF0Y0RsbEZuaXlKdVhaSDFRa3pHV2NzN0l1Z09KT2tNWWxzM2orbDcwTkYKQU1xcnJZckNTYUVHR2taMHBNZHlWWU9qWTdkU0gvNytoWkxQYVFJREFRQUJBb0lCQUZ6RFptcTVUNytlY09hOQoySGMxZThUOUpKTlRmQjVSU0JTVUgzd0lDanJ0S0NRNmdDQ2FPSlpGbXhudGFzMU5pZ2ZxcUNVY3FvMTdMYjRoCm1GeUtmdFQ0cmhiWWoxZmJ5eTBRd2pZNVdkOHpQd1NtYUNHTDlLcjBoMEY5eGFJRExwR1M3RUV4SWJXTGJnWWoKMlMzRjVyVUxGYnZ3U3pLY2V2K2ZLcGR1cW1nZG15WWMxRFpyYnRLZ2V0VWFYcHhiSzNuU1dFWG9JYmN1TTVBTgpIbnFmaWs1SEw3Z1lGa2JnSWMzQ2FLZUZ1V2JoTGgvTEdmUXdSd2trK0NpYnNYTGdNK0llVnl3aFBCS1FsOE5LCldsNjczQm40MzE3dmRGcUhRY0tOUVVEODRnNDJna3hIVExuS0w1by8wSFYzSmxjRnNMZnBKU2s5RTZhRGU0UzQKb00rZTlBRUNnWUVBeWRKblRKU0g2bGpzSkFVN0k3VWpPK2V0WVVRRDQwanoyeVhDQlkramw0ZFhsUUtUbWx1KwpPaXN3L3NlWjZ1OExYOVlsYUdJZm5zclRCS0JVNWp0OGFRd3A2MldyZk9mWkJNamVsOUZuYnp0VEQ5Y0I0L24vCk5CMWp0VDFtOCtTckRSZ1FhK2Z3eWsxTTVTY2pWSUF6QzQ4THhpenM1a05MOHNRRVBvV2J0UWtDZ1lFQXhnaUwKK1hmalB6WldBeWZSaUdJdWNOL0RHVGFQOVVFUER2b3VGT09jSVI5VUNtNTlqbjdSWk1tL25pdFhEUHRDbktCUQpCR2M5bWhtelM1dmYvcW4rU0lGYXI5eURad0JYQVNTYUZ2cFlrRm5VZWJtSE5tdmloQzZuUlJaaXEyUlhqd040CjEveEdCNzErZ285V0Y0cGdXMWp2aGRySnVQbDBBc1JGbTJ0V1AyRUNnWUVBa0dMTXNFYmE3ZGRzS1dEc3JHRWMKc2ZEUFkzU3JhMkYzeEdMQTZnV1hQZ0wvcjRWR1gvb2VuN0xpdklQRUpBV2NsNVcyOFhTeHRvTFljTWpidEZMKwpjSkRaTktWcUNGUStPR1FVaTN5dWlTOWgvMFVNL3pLTlY1Vm5EZlM5d09McFZOYlFlTUpZekFKOWJydVBWUmJhCmJmeUtxZDdlSk9Za1lhdkdkWXhVbHpFQ2dZQWdIVnExeGg5d0xOdWQvMk1YZnZTUkVYaU9LaThHVXRxaVR5Z1IKOHlkcXA2MzFVeDNCY2dkN0ZNeWlWZHowR2ZzZmMxQUdwc2R5cWlCTmJxWFFvcmkrQVZ3M2tNY3VlUHVqRDlCOQpVWFB6Vk40RUwzWWgrVFR1d3JJVm5oKzZNN2VQVmJ6UEtmWWhZeldVN3JIRGQ0bFF4d2R3Nlo0MUJSOHZJNjAyCkd4NE5nUUtCZ1FDSFhxeTc2SWo4Wkk3ajVLSEFmREhycFhjSmpOQVI0NGFJQmdOYnpEZG5oYy95em9CSHZPNHkKUFpvY2ZyWERmQWVsclBSSXlPamUzcmlFRVdxODAvS0RsN2xSa2lCRDdJekNMNjIvcjdYWGJRTjc3aEltVjRFMwozKzdSdmRqK2xNTlRaR1FHdFlMNjUvcGJtOGZkd0RteG5vcVZkZTJhcUtzUFhYQmh2ZGx3Wmc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
    [root@k8s-master-01 ~]# 

      将 config 拷贝到 kubernetes 集群外节点上,并在该节点上执行 kubectl-v1.20.10 --kubeconfig=config get nodes。注意:kubectl 版本和 kubernetes 中的 kubectl 版本一致。

    [root@localhost ~]# ./kubectl-v1.20.10 --kubeconfig=config get nodes
    NAME                            STATUS   ROLES                  AGE   VERSION
    k8s-master-01-192.168.153.201   Ready    control-plane,master   79m   v1.20.10
    k8s-master-02-192.168.153.202   Ready    control-plane,master   79m   v1.20.10
    k8s-worker-01-192.168.153.211   Ready    worker                 79m   v1.20.10
    k8s-worker-02-192.168.153.212   Ready    worker                 79m   v1.20.10
    [root@localhost ~]# 

      成功! 

  • 相关阅读:
    COJ 1002 WZJ的数据结构(二)(splay模板)
    生成网络流图
    最小费用最大流MCMF zkw费用流
    COJ 2003 选根 (树的重心)
    最小费用最大流MCMF 最小增广
    PDO 基础知识
    使 用 Jquery 全选+下拉+单选+事件+挂事件
    搜 房 网 站 设 计 练 习
    百分比进度条
    在PHP系统里连接MySQL 数据访问,+ + + + + 数据删除
  • 原文地址:https://www.cnblogs.com/zuoyang/p/15261373.html
Copyright © 2011-2022 走看看