Test Code

Kubernetes - install(kubeadm)

2020-04-04

参考网址: https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/

  1. 准备阶段:

    1. 节点间时间同步
    2. 关闭selinux
    3. 关闭防火墙
    4. 设置/etc/hosts手动解析
    5. 梯子自备。在下载image时需要用到,或者可以找国内已经同步的源。
  2. 设置yum源

    1. 从阿里云安装docker和kubernetes
      https://opsx.alibaba.com/mirror
      docker
      kubernetes
      yum install -y kubelet kubeadm kubectl docker
      yum install kubelet-1.14.8 kubeadm-1.14.8 kubectl-1.14.8 -y
      systemctl enable kubelet && systemctl start kubelet
  3. 确保以下两个参数值为1,默认为1

    1. cat /proc/sys/net/bridge/bridge-nf-call-ip6tables
    2. cat /proc/sys/net/bridge/bridge-nf-call-iptables
      net.bridge.bridge-nf-call-ip6tables = 1
      net.bridge.bridge-nf-call-iptables = 1
    3. vim /etc/sysctl.conf
  4. 在kernel中需要打开ipvs模块,/etc/sysconfig/kubelet
    KUBE_PROXY_MODE=ipvs

  5. 在kublet中禁用swap
    /etc/sysconfig/kubelet
    KUBELET_EXTRA_ARGS=”–fail-swap-on=false”

  6. 一颗CPU
    –ignore-preflight-errors=NumCPU

  7. 初始化kubeadm
    kubeadm init –pod-network-cidr=10.244.0.0/16 –service-cidr=10.96.0.0/12 –ignore-preflight-errors=all
    kubeadm init –pod-network-cidr=10.244.0.0/16 –service-cidr=10.96.0.0/12 –ignore-preflight-errors=Swap –ignore-preflight-errors=NumCPU

  8. 提前下载镜像
    kubeadm config images list

  9. Your Kubernetes control-plane has initialized successfully!
    在master上执行,创建root初始化目录
    [root@master ~]# mkdir -p $HOME/.kube
    [root@master ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    [root@master ~]# chown $(id -u):$(id -g) $HOME/.kube/config

  10. 在master节点上安装flannel
    https://github.com/coreos/flannel
    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    kubectl apply -f kube-flannel.yml

  11. install node1 software

    1. yum install -y docker-ce kubelet kubeadm
    2. 把所有docker images也下载上
  12. 相关命令
    kubectl describe pod kube-flannel-ds-amd64-47jl8 –namespace=kube-system
    kubectl get all –all-namespaces
    kubectl get nodes
    kubectl get ns
    kubectl get cs

至此安装介绍已结束。

备注:

  • docker加速

  • 设置docker的代理网址

    • [root@master ~]# vim /usr/lib/systemd/system/docker.service
    • [root@master ~]# grep -i env /usr/lib/systemd/system/docker.service
    • Environment=”HTTPS_PROXY=http://www.ik8s.io:10080"
    • Environment=”HTTP_PROXY=http://www.ik8s.io:10080"
    • Environment=”NO_PROXY=127.0.0.0/8,172.20.0.0/16”
  • 版本记录

    • kube-apiserver:v1.14.1
    • kube-controller-manager:v1.14.1
    • kube-scheduler:v1.14.1
    • kube-proxy:v1.14.1
    • pause:3.1
    • etcd:3.3.10
    • coredns:1.3.1
  • 设置docker

    • [root@node1 ~]# cat /etc/docker/daemon.json
    • {“registry-mirrors”: [“http://f1361db2.m.daocloud.io"]}
    • [root@node1 ~]# grep -i env /usr/lib/systemd/system/docker.service
    • Environment=”NO_PROXY=127.0.0.0/8,172.20.0.0/16”
    • systemctl enable docker
    • systemctl enable kubelet
  • 下载镜像

    • docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.14.2

    • docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.14.2

    • docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.14.2

    • docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1

    • docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.3.10

    • docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.3.1

    • docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.14.2

    • docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.14.2 k8s.gcr.io/kube-controller-manager:v1.14.2

    • docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.14.2 k8s.gcr.io/kube-scheduler:v1.14.2

    • docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.14.2 k8s.gcr.io/kube-proxy:v1.14.2

    • docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1 k8s.gcr.io/pause:3.1

    • docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.3.10 k8s.gcr.io/etcd:3.3.10

    • docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1

    • docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.14.2 k8s.gcr.io/kube-apiserver:v1.14.2

  • 下载镜像脚本
    for i in `kubeadm config images list`; do
    imageName=${i#k8s.gcr.io/}
    echo $imageName
    docker pull registry.aliyuncs.com/google_containers/$imageName
    docker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
    docker rmi registry.aliyuncs.com/google_containers/$imageName
    done;

使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章