zoukankan      html  css  js  c++  java
  • Kubernetes容器集群kubectl管理工具远程管理集群(七)

    概述

    kubectl是k8s的客户端程序,也是k8s的命令行工具,kubectl提供了大量的子命令可以让用户和集群进行交互。

    kubectl不一定部署在master上。用户通过kubectl连接到master上然后将命令通过master分发到集群的node节点上。

    默认情况下是连接本地的apiserver 统一集群入口

    使用https连接集群

    默认情况下,kubectl使用非安全http协议连接本地apiserver的8080非安全端口: 

    [root@master ~]# kubectl -s 127.0.0.1:8080 get node
    NAME            STATUS    ROLES     AGE       VERSION
    192.168.1.102   Ready     <none>    18h       v1.9.2
    192.168.1.103   Ready     <none>    17h       v1.9.2

    现在使用https端口(6443)连接集群,方如如下:

    1.将master端的kubectl客户端工具放到其中一台节点
    
       [root@master ~]# scp /opt/kubernetes/bin/kubectl root@192.168.1.103:/usr/local/bin/
    
    2.将master端的admin证书传到一台节点,
       admin证书主要用于客户端工作管理集群
    
        [root@master ssl]# scp admin*.pem root@192.168.1.103:/root
        [root@node2 ssl]# cp ca.pem /root/
    
    3.生成kubectl配置文件
        
        kubectl config set-cluster kubernetes --server=https://192.168.1.101:6443 --certificate-authority=ca.pem
         这步完成后会在当前目录下创建一个隐藏文件./kube目录,在其中生成一个config文件,
    
    4.设置用户项中cluster-admin用户证书认证字段
    
       kubectl config set-credentials cluster-admin --certificate-authority=ca.pem --client-key=admin-key.pem --client-certificate=admin.pem
    
    5.设置环境中的默认上下文件
        
        kubectl config set-context default --cluster=kubernetes --user=cluster-admin
    
    6.设置当前环境的default
        
        [root@node2 ~]# kubectl config use-context default
    
    7. 查看Node节点
        [root@node2 ~]# kubectl get node

    后面就是通过当前环境下的config来操作集群

    [root@node2 ~]# cat .kube/config 
    apiVersion: v1
    clusters:
    - cluster:
        certificate-authority: /root/ca.pem
        server: https://192.168.1.101:6443
      name: kubernetes
    contexts:
    - context:
        cluster: kubernetes
        user: cluster-admin
      name: default
    current-context: default
    kind: Config
    preferences: {}
    users:
    - name: cluster-admin
      user:
        client-certificate: /root/admin.pem
        client-key: /root/admin-key.pem
  • 相关阅读:
    mysql的触发器
    数据库面试题
    数据库面试(1)
    eclipse里maven项目An error occurred while filtering resources解决办法
    Missing artifact com.github.pagehelper:pagehelper:jar:3.4.2-fix的解决方法
    淘淘商城学习
    spring Security简介
    ElasticSearch学习
    在Visual Studio中使用FFTW库
    FFTW程序Demo
  • 原文地址:https://www.cnblogs.com/zhangzihong/p/9447489.html
Copyright © 2011-2022 走看看