Kubernetes多master部署(7)

运行node组件

首先我们需要在master上面生成一个角色用于node上证书绑定认证
在master上面操作(65)
创建认证用户

kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=system:node-bootstrapper --user=kubelet-bootstrap

将在master上面生成的 bootstrap.kubeconfig ,kube-proxy.kubeconfig文件传到master和node节点上面去

scp -P 10022 jyapp@10.50.182.65:/opt/kubernetes/cfg/*.kubeconfig  .

在node上操作(10.50.182.66)
将我们需要的文件(kubelet ,kube-proxy)拿出来,文件都在我们下载的二进制包中,其中*.sh为我们自定义的脚本

1[root@mail node_pkg]# ls 2kubelet kubelet.sh kube-proxy proxy.sh 3chmod +x *.sh 4 5mv kubelet kube-proxy /opt/kubernetes/bin/ 6chmod +x /opt/kubernetes/bin/* 7 8echo "export PATH=$PATH:/opt/kubernetes/bin" >> /etc/profile

安装kubelet
编辑安装脚本:

1[root@mail node_pkg]# cat kubelet.sh 2 3#!/bin/bash 4 5NODE_ADDRESS=${1:-"10.50.182.66"} 6DNS_SERVER_IP=${2:-"10.10.10.2"} 7 8cat <<EOF >/opt/kubernetes/cfg/kubelet 9 10KUBELET_OPTS="--logtostderr=true \\ 11--v=4 \\ 12--address=${NODE_ADDRESS} \\ 13--hostname-override=${NODE_ADDRESS} \\ 14--kubeconfig=/opt/kubernetes/cfg/kubelet.kubeconfig \\ 15--experimental-bootstrap-kubeconfig=/opt/kubernetes/cfg/bootstrap.kubeconfig \\ 16--cert-dir=/opt/kubernetes/ssl \\ 17--allow-privileged=true \\ 18--cluster-dns=${DNS_SERVER_IP} \\ 19--cluster-domain=cluster.local \\ 20--fail-swap-on=false \\ 21--pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0" 22 23EOF 24 25cat <<EOF >/usr/lib/systemd/system/kubelet.service 26[Unit] 27Description=Kubernetes Kubelet 28After=docker.service 29Requires=docker.service 30 31[Service] 32EnvironmentFile=-/opt/kubernetes/cfg/kubelet 33ExecStart=/opt/kubernetes/bin/kubelet \$KUBELET_OPTS 34Restart=on-failure 35KillMode=process 36 37[Install] 38WantedBy=multi-user.target 39EOF 40 41systemctl daemon-reload 42systemctl enable kubelet 43systemctl restart kubelet

执行脚本安装,日志/var/log/message:

./kubelet.sh 10.50.182.66 10.10.10.2

安装kube-proxy:
编写安装脚本:

1[root@mail node_pkg]# cat proxy.sh 2#!/bin/bash 3 4NODE_ADDRESS=${1:-"10.50.182.66"} 5 6cat <<EOF >/opt/kubernetes/cfg/kube-proxy 7 8KUBE_PROXY_OPTS="--logtostderr=true \ 9--v=4 \ 10--hostname-override=${NODE_ADDRESS} \ 11--kubeconfig=/opt/kubernetes/cfg/kube-proxy.kubeconfig" 12 13EOF 14 15cat <<EOF >/usr/lib/systemd/system/kube-proxy.service 16[Unit] 17Description=Kubernetes Proxy 18After=network.target 19 20[Service] 21EnvironmentFile=-/opt/kubernetes/cfg/kube-proxy 22ExecStart=/opt/kubernetes/bin/kube-proxy \$KUBE_PROXY_OPTS 23Restart=on-failure 24 25[Install] 26WantedBy=multi-user.target 27EOF 28 29systemctl daemon-reload 30systemctl enable kube-proxy 31systemctl restart kube-proxy

启动脚本:

1./proxy.sh 10.50.182.66 2 3ps aux |grep proxy 4报错查看:/var/log/message 5journalctl -f -t kube-proxy 6journalctl -u kube-proxy

查询集群状态:

1[root@localhost ~]# kubectl get csr 2NAME AGE REQUESTOR CONDITION 3node-csr-0EfKRr3ZU_UVFi5O8XLASGNxTzMrIsxMHg8oHJnY3JA 4m kubelet-bootstrap Pending 4node-csr-MTGLph0ohPwDJK6FtjJagnkjo3utvYjL1N52nBA1xRU 43m kubelet-bootstrap Pending

目前没有节点加入,我们将节点加入:

1kubectl certificate approve node-csr-0EfKRr3ZU_UVFi5O8XLASGNxTzMrIsxMHg8oHJnY3JA 2kubectl certificate approve node-csr-MTGLph0ohPwDJK6FtjJagnkjo3utvYjL1N52nBA1xRU

执行这条命令之后,会在node生成一个kubeconfig文件

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )