• 使用kubeadm在Centos7上部署kubernetes1.21.1


    本部署主要参照 https://www.kubernetes.org.cn/7189.html 的步骤,其中有几个地方可能因为版本不一样,会有一些问题。

    1. 在其中第5步,初始化k8s集群时,有一个 image (coredns:V1.8.0)拉取不到, 可以通过下面的命令,先从 docker 拉取,然后 tag 成 registry.aliyuncs.com/google_containers/coredns:v1.8.0

    docker pull coredns/coredns:1.8.0
    docker tag coredns/coredns:1.8.0 registry.aliyuncs.com/google_containers/coredns:v1.8.0
    

    初始化的时候,改了一下版本

    kubeadm init --kubernetes-version=1.21.1  
    --apiserver-advertise-address=192.168.137.91   
    --image-repository registry.aliyuncs.com/google_containers  
    --service-cidr=10.10.0.0/16 --pod-network-cidr=10.122.0.0/16

    2. 查看状态时,发现 scheduler 和 controller-manager 不是健康状态。

     在网上搜了一下,出现这种情况,是/etc/kubernetes/manifests/下的kube-controller-manager.yaml和kube-scheduler.yaml设置的默认端口是0导致的,解决方式是注释掉对应的port即可,

     把这两个文件中的 port=0 的行注释掉后。等一会,这两个就正常了

    上面是部署 kubernetes 的 master, 下面创建 worker, 步骤只需要做上面的链接文章中的前 4 步。然后运行下面的命令,加入集群

    kubeadm join 192.168.137.91:6443 --token ej6bg8.9ol2o5s77d3dd290 
    	--discovery-token-ca-cert-hash sha256:4446f1e99cf9ca4ec466d4872cbf915379a69e0ba907686df414968f65f5a00a
    

    上面的命令,其实是在前面 master 初始化完成后,最后打印出来的。

    如果找不到了,可以运行下面的命令

    kubeadm token create --print-join-command

     一开始是 NotReady,过一会就 Ready了。不过 增加的 节点的 Role 为 <none>,通过下面的命令可以设置

    kubectl label nodes  k8s02 node-role.kubernetes.io/node=

     

  • 相关阅读:
    Java中printf
    error C3688: invalid literal suffix '__FSTREXP'; literal operator or literal operator template 'operator ""__FSTREXP' not found
    C# IIS 访问网络映射磁盘 读取文件列表
    datatables 参数详解
    Telnet协议详解
    WCF中的ServiceHost初始化两种方式
    C# FTP 上传、下载、获取文件列表
    Oracle存储过程编译卡死的解决方法
    oracle 查询表结构
    Oracle大数据常见优化查询
  • 原文地址:https://www.cnblogs.com/langfanyun/p/15019621.html
Copyright © 2020-2023  润新知