• K8S从入门到放弃系列-(11)kubernetes集群网络Calico部署


    摘要:
    前面几个篇幅,已经介绍master与node节点集群组件部署,由于K8S本身不支持网络,当 node 全部启动后,由于网络组件(CNI)未安装会显示为 NotReady 状态,需要借助第三方网络才能进行创建Pod,下面将部署 Calico 网络为K8S提供网络支持,完成跨节点网络通讯。
    官方文档 https://docs.projectcalico.org/v3.6/introduction
    1)下载Calico yaml

    [root@k8s-master01 ~]# mkdir /opt/k8s/calico
    [root@k8s-master01 ~]# cd /opt/k8s/calico/
    [root@k8s-master01 calico]# wget http://docs.projectcalico.org/v3.6/getting-started/kubernetes/installation/hosted/calico.yaml
    2)修改配置
    默认calico配置清单文件与我们部署的集群并不兼容,所以我们需要修改以下字段信息
    [root@k8s-master01 calico]# vim calico.yaml 
    ## etcd 证书 base64 地址 (执行里面的命令生成的证书 base64 码,填入里面)
    apiVersion: v1
    kind: Secret
    type: Opaque
    metadata:
      name: calico-etcd-secrets
      namespace: kube-system
    data:
       etcd-key: (cat /etc/kubernetes/ssl/etcd-key.pem | base64 | tr -d '
    ')
       etcd-cert: (cat /etc/kubernetes/ssl/etcd.pem | base64 | tr -d '
    ')
       etcd-ca: (cat /etc/kubernetes/ssl/ca.pem | base64 | tr -d '
    ')
      
    ## 如上()中只是生成base64码的命令实际操作时需要去掉(),只需要填写生成的编码并用双引号引起来即可
    
    
    ## ConfigMap 
    ### 修改etcd地址
      etcd_endpoints: "https://10.10.0.18:2379,https://10.10.0.19:2379,https://10.10.0.20:2379"
    ### 修改etcd证书位置
      etcd_ca: "/calico-secrets/etcd-ca"
      etcd_cert: "/calico-secrets/etcd-cert"
      etcd_key: "/calico-secrets/etcd-key"
    ## 修改pod 分配的IP段(不能与node、service等地址同一网段)
      - name: CALICO_IPV4POOL_CIDR
        value: "10.254.64.0/18"
    3)应用

    [root@k8s-master01 calico]# kubectl apply -f calico.yaml 
    4)查看

    [root@k8s-master01 ~]# kubectl get po -n kube-system -o wide
    NAME                                       READY   STATUS    RESTARTS   AGE   IP           NODE         NOMINATED NODE   READINESS GATES
    calico-kube-controllers-75569d87d7-lxmgq   1/1     Running   0          70s   10.10.0.22   k8s-node02   <none>           <none>
    calico-node-lhmt8                          1/1     Running   0          70s   10.10.0.22   k8s-node02   <none>           <none>
    calico-node-nkmh2                          1/1     Running   0          70s   10.10.0.21   k8s-node01   <none>           <none>
    5)验证集群状态

    ## 查看node是否为就绪状态
    [root@k8s-master01 ~]# kubectl get nodes
    NAME         STATUS     ROLES    AGE   VERSION
    k8s-node01   Ready      <none>   19h   v1.14.1
    k8s-node02   Ready      <none>   18h   v1.14.1

  • 相关阅读:
    查找文件内容
    jquery click 与原生 click 的区别
    js 模糊搜索
    node 报错 env: node : No such file or directory
    简单的 js 模版引擎
    一个兼容 node 与浏览器的模块写法
    java.io.IOException: No FileSystem for scheme: hdfs
    使用Maven Assembly plugin将依赖打包进jar
    使用maven生成可执行的jar包
    tomcat 8.0 进程没有全部杀死
  • 原文地址:https://www.cnblogs.com/tchua/p/10773269.html
Copyright © 2020-2023  润新知