美文网首页
安装K8S---国内安装Kubernetes

安装K8S---国内安装Kubernetes

作者: 养猫的老鼠 | 来源:发表于2019-12-13 18:04 被阅读0次

    基于CENTOS7.6(分区时去除SWAP分区)
    或者在系统中通过swapoff -a,并在/etc/fstab中注释swap分区
    安装Docker,需要注意不是所有版本都可以,需要根据K8S的支持列表安装Docker,这里选择18.09.9
    安装前置软件 yum install -y yum-utils device-mapper-persistent-data lvm2
    设置Docker yum源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    查看仓库中所有docker-ce版本 yum list docker-ce --showduplicates | sort -r
    安装18.09.9 yum install docker-ce-18.09.9
    启动docker systemctl enable docker && systemctl start docker
    安装Kubeadm,通过Kubeadm安装K8S
    配置本地docker registry
    下载registry image并启动registry镜像容器
    docker pull registry
    docker run --restart=always -d -p 80:5000 -v /mnt/date/registry:/var/lib/registry registry
    将阿里云的K8S镜像push到本地仓库
    Docker默认采用https,因此需要将本地仓库设置为insecure-registries才可以push到本地仓库。同时因为无法访问gcr.io,需要定向到本地仓库,因此也设置为insecure
    echo -e '{\n"insecure-registries":["k8s.gcr.io", "gcr.io", "quay.io","10.128.128.211:80"]\n}' > /etc/docker/daemon.json systemctl restart docker
    下载K8S镜像并push到本地
    for i in `kubeadm config images list | grep "^k8s" | awk -F "/" '{print $2}'`; do docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$i; docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$i 10.128.128.211:80/$i; docker push 10.128.128.211:80/$i; done
    检查是否已经上传至本地
    curl 10.128.128.211:80/v2/_catalog
    域名访问转发,将对于gcr.io的访问定向到本地仓库
    REGISTRY_HOST="10.128.128.211"
    yes | cp /etc/hosts /etc/hosts_bak
    cat /etc/hosts_bak|grep -vE '(gcr.io|harbor.io|quay.io)' > /etc/hosts
    echo """$REGISTRY_HOST gcr.io harbor.io k8s.gcr.io quay.io """ >> /etc/hosts
    通过Kubeadm安装K8S
    修改hostname
    hostnamectl set-hostname master-node
    检查镜像配置是否正确
    kubeadm config images pull
    初始化K8S,这里使用Flannel作为CDI,需要指定参数。最后一次初始化时需要记录相应的token,用于后面添加Slave Node。
    kubeadm init --pod-network-cidr=10.244.0.0/16
    mkdir -p $HOME/.kube
    cp -i /etc/kubernetes/admin.conf HOME/.kube/config chown \(id -u):$(id -g) $HOME/.kube/config
    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    检查K8S安装情况
    查看各个组件的安装情况,全都是ready状态才是正常的 kubectl get pods --all-namespaces

    trouble shooting
    通过kubectl get pods --all-namespaces发行flannel有问题,提示"Init:ImagePullBackOff"
    通过kubectl describe pod -n kube-system kube-flannel-ds-amd64-8hknp,发现Failed to pull image "quay.io/coreos/flannel:v0.11.0-amd64",原来是无法下载image。回看上面的操作,在/etc/hosts中添加了quay.io的转发,从/etc/hosts拿掉后,可以下载。ubectl get pods --all-namespaces也显示正常。

    相关文章

      网友评论

          本文标题:安装K8S---国内安装Kubernetes

          本文链接:https://www.haomeiwen.com/subject/qmqqnctx.html