kubernetes(十)二进制安装-追加worker节点

追加节点(在master上执行)

追加节点

资源有限,我们这边尝试把master节点追加到集群中,如果是新机器,需要执行本文档的 安装前准备,把ca相关的证书分发到这个机器上,部署 flannel 网络步骤

  1. 安装前准备

  2. 把ca相关的证书分发到这个机器上

  3. 部署 flannel 网络

  4. 安装docker服务

  5. 安装kubelet服务
    参照之前追加worker节点的操作worker节点安装,如果直接使用之前的kubelet-bootstrap.yml,发现节点无法加入,因为kubelet-bootstrap.yml中的token值有效期只有一天,如果token已经过期,在kube-apiserver中会出现错误

    2月 12 11:01:01 master kube-apiserver[5018]: E0212 11:01:01.640497    5018 authentication.go:104] Unable to authenticate the request due to an error: invalid bearer token 
    
    

    查看token

    root@master:/opt/k8s/work# kubeadm token list --kubeconfig ~/.kube/config
    TOKEN                     TTL         EXPIRES                     USAGES                   DESCRIPTION                                                EXTRA GROUPS
    5t989l.rweut7kedj7ifl1a   <invalid>   2020-02-11T18:19:41+08:00   authentication,signing   kubelet-bootstrap-token                                    system:bootstrappers:slave
    
    

    此时需要按照slave节点上安装kubelet的步骤,重新生成kubelet-bootstrap.yml

    将csr approve后,查看节点情况

    root@master:/opt/k8s/work# kubectl get nodes
    NAME     STATUS   ROLES    AGE   VERSION
    master   Ready    <none>   21s   v1.17.2
    slave    Ready    <none>   36h   v1.17.2
    
    
  6. 安装kubeproxy服务

重新验证集群

root@master:/opt/k8s/yml# kubectl create -f nginx.yml
service/nginx created
deployment.apps/nginx-deployment created

root@master:/opt/k8s/yml# kubectl get pod -o wide
NAME                                READY   STATUS    RESTARTS   AGE   IP            NODE     NOMINATED NODE   READINESS GATES
nginx-deployment-56f8998dbc-6b6qm   1/1     Running   0          87s   172.30.22.2   master   <none>           <none>
root@master:/opt/k8s/yml# kubectl create -f busybox.yml
pod/busybox created

root@master:/opt/k8s/yml# kubectl get pod -o wide
NAME                                READY   STATUS    RESTARTS   AGE     IP            NODE     NOMINATED NODE   READINESS GATES
busybox                             1/1     Running   0          102s    172.30.22.3   master   <none>           <none>
nginx-deployment-56f8998dbc-6b6qm   1/1     Running   0          3m20s   172.30.22.2   master   <none>           <none>


root@master:/opt/k8s/yml# curl http://192.168.0.107:8080
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

root@master:/opt/k8s/yml# curl http://192.168.0.114:8080
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

可以看到访问集群中任意一个节点的8080端口,都可以正确访问到后端对应的nginx服务

posted @ 2020-03-29 20:49  高枫_henu  Views(742)  Comments(0Edit  收藏  举报