美文网首页Kubernetes
Kubernetes | 二进制软件包方式部署 -- 部署 ku

Kubernetes | 二进制软件包方式部署 -- 部署 ku

作者: 奶茶不要奶不要茶 | 来源:发表于2022-05-27 23:54 被阅读0次
    05 部署 kube-apiserver 组件

    Kubernetes 核心组件之一,提供其他模块之间的数据交互和通信的枢纽。

    更多内容请移步 Kubernetes 官网详阅。

    5.1 获取二进制软件包

    在本地主机上操作。

    从 GitHub 下载二进制软件包,这里整理了一个 Master 组件 v1.23.6 版本的软件包,里面只包含了 3 个文件:kube-apiserver、kube-controller-manager、kube-scheduler。

    官方GitHub:Kubernetes

    解压之后将 kube-apiserver 分发到 3 台服务器上。

    cd /data/k8s-deploy/software
    wget https://github.com/pjgmow/kubernetes/releases/download/v1.23.6/kubernetes-server-v1.23.6-linux-amd64.tar.gz
    tar xf kubernetes-server-v1.23.6-linux-amd64.tar.gz && cd kubernetes-server-v1.23.6-linux-amd64
    
    #K8S_HOST=(k8s-master-01 k8s-master-02 k8s-master-03)
    #for h in ${K8S_HOST[@]};do scp kube-apiserver root@$h:/usr/local/bin/;done
    scp kube-apiserver root@k8s-master-01:/usr/local/bin/
    scp kube-apiserver root@k8s-master-02:/usr/local/bin/
    scp kube-apiserver root@k8s-master-03:/usr/local/bin/
    
    5.2 生成token

    在本地主机上操作。

    k8s-deploy 已提供了模板文件,通过命令生成 token,然后替换模板文件里的 __TOKEN__ 即可。

    token 文件修改完成后,将其分发到 3 台服务器上。

    cd /data/k8s-deploy/kubeconfig
    
    TOKEN=$(head -c 16 /dev/urandom | od -An -t x | tr -d ' ')
    sed -i "s#__TOKEN__#${TOKEN}#" ./token.csv
    
    #K8S_HOST=(k8s-master-01 k8s-master-02 k8s-master-03)
    #for h in ${K8S_HOST[@]};do scp token.csv root@$h:/etc/kubernetes/kubeconfig/;done
    scp token.csv root@k8s-master-01:/etc/kubernetes/kubeconfig/
    scp token.csv root@k8s-master-02:/etc/kubernetes/kubeconfig/
    scp token.csv root@k8s-master-03:/etc/kubernetes/kubeconfig/
    

    token.csv 文件内容格式:Token,User,UID,Group

    token中的文件内容在后面部署 kubelet 组件会用到,且 kubelet 和 kube-apiserver 中的 Token 必须一致,否则 kubelet 无法加入集群。

    看下我这里的 token.csv 内容。

    cat token.csv
    57a29c8a52405240cfc8a070e8d2b372,kubelet-bootstrap,10001,"system:bootstrappers"
    
    5.3 生成服务配置文件

    在本地主机上操作。

    k8s-deploy 已提供了 kube-apiserver 的配置文件模板,文件中有几个内容需要修改:

    __CLUSTER_SERVICE_CIDR__:Kubernetes Service 资源的网段
    __SERVICE_PORT_RANGE__:Kubernetes Service 资源的端口范围
    __ETCD_CLUSTER_SERVERS__:etcd 集群的访问地址
    

    修改配置文件内容,将其分发到 3 台服务器上。

    CLUSTER_SERVICE_CIDR=10.0.0.0/12
    SERVICE_PORT_RANGE=30000-32767
    ETCD_CLUSTER_SERVERS=https://192.168.3.201:2379,https://192.168.3.202:2379,https://192.168.3.203:2379
    
    cd /data/k8s-deploy/config
    sed -i "s#__CLUSTER_SERVICE_CIDR__#$CLUSTER_SERVICE_CIDR#" ./kube-apiserver.conf
    sed -i "s#_SERVICE_PORT_RANGE__#$SERVICE_PORT_RANGE#" ./kube-apiserver.conf
    sed -i "s#__ETCD_CLUSTER_SERVERS__#$ETCD_CLUSTER_SERVERS#" ./kube-apiserver.conf
    
    #K8S_HOST=(k8s-master-01 k8s-master-02 k8s-master-03)
    #for h in ${K8S_HOST[@]};do scp kube-apiserver.conf root@$h:/etc/kubernetes/conf/;done
    scp kube-apiserver.conf root@k8s-master-01:/etc/kubernetes/conf/
    scp kube-apiserver.conf root@k8s-master-02:/etc/kubernetes/conf/
    scp kube-apiserver.conf root@k8s-master-03:/etc/kubernetes/conf/
    
    5.4 生成服务启动管理文件

    在本地主机上操作。

    k8s-deploy 已提供了服务启动管理文件,不需要修改内容,直接分发到 3 台服务器即可。

    cd /data/k8s-deploy/service
    
    #K8S_HOST=(k8s-master-01 k8s-master-02 k8s-master-03)
    #for h in ${K8S_HOST[@]};do scp kube-apiserver.service root@$h:/etc/systemd/system/;done
    scp kube-apiserver.service root@k8s-master-01:/etc/systemd/system/
    scp kube-apiserver.service root@k8s-master-02:/etc/systemd/system/
    scp kube-apiserver.service root@k8s-master-03:/etc/systemd/system/
    
    5.5 启动 kube-apiserver 服务

    分别在 3 台服务器上操作。

    服务配置文件和服务启动管理文件都分发之后,分别登录到 3 台服务器上启动 kube-apiserver 服务。

    systemctl daemon-reload
    systemctl enable kube-apiserver
    systemctl start kube-apiserver
    systemctl status kube-apiserver
    

    通过 curl 命令来检查一下。

    curl -k https://k8s-master-01:6443
    

    正常返回内容如下,code 是 401。

    {
      "kind": "Status",
      "apiVersion": "v1",
      "metadata": {},
      "status": "Failure",
      "message": "Unauthorized",
      "reason": "Unauthorized",
      "code": 401
    }
    

    相关文章

      网友评论

        本文标题:Kubernetes | 二进制软件包方式部署 -- 部署 ku

        本文链接:https://www.haomeiwen.com/subject/bqcpprtx.html