版权声明:本文由神州数码云基地团队整理撰写,若转载请注明出处。

写在前面:

系统环境:CPU 8核,16G内存,系统Ubuntu 18.04.4 LTS,docker-ce 18.06.3-ce,kernel arm64

一:系统环境前置准备(master+node):

1:关闭swap交换内存

-swap打开的情况下,kubelet无法正常运行

sudo swapoff -a

2:更改HostName

-vim /etc/hostname

kube-master(主节点hostname)

kube-node1(从节点hostname)

3:修改Hosts文件

-vim /etc/hosts

添加如下内容:

10.126.4.57 kube-master

10.126.4.58 kube-node1

3:关闭系统防火墙

-sudo ufw disable

4:配置aliyun镜像加速地址

-sudo apt update && sudo apt install -y apt-transport-https

-curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -

-vim /etc/apt/sources.list.d/kubernetes.list

添加:deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main

-sudo apt update

二:安装基础组件(master+node)

1:指定版本安装kubelet/kubectl/kubeadm/kubernetes-cni

-查看可装版本

apt-cache madison kubeadm

-选择版本安装(1.15.1)

apt-get install -y kubelet=1.15.1-00 kubeadm=1.15.1-00 kubectl=1.15.1-00 kubernetes-cni

-查看基础配置所需的docker镜像

kubeadm config images list

-安装镜像(k8s.gcr.io被墙,需要从国内找支持arm64的镜像安装)

--拉取国内镜像

docker pull docker.io/mirrorgooglecontainers/kube-apiserver-arm64:v1.15.1

docker pull docker.io/mirrorgooglecontainers/kube-controller-manager-arm64:v1.15.1

docker pull docker.io/mirrorgooglecontainers/kube-scheduler-arm64:v1.15.1

docker pull docker.io/mirrorgooglecontainers/kube-proxy-arm64:v1.15.1

docker pull docker.io/mirrorgooglecontainers/pause-arm64:3.1

docker pull docker.io/mirrorgooglecontainers/etcd-arm64:3.3.10

docker pull docker.io/coredns/coredns:1.3.1

--将镜像重新标记为kubeadm初始化可识别镜像

docker tag docker.io/mirrorgooglecontainers/kube-apiserver-arm64:v1.15.1 k8s.gcr.io/kube-apiserver:v1.15.1

docker tag docker.io/mirrorgooglecontainers/kube-controller-manager-arm64:v1.15.1 k8s.gcr.io/kube-controller-manager:v1.15.1

docker tag docker.io/mirrorgooglecontainers/kube-scheduler-arm64:v1.15.1 k8s.gcr.io/kube-scheduler:v1.15.1

docker tag docker.io/mirrorgooglecontainers/kube-proxy-arm64:v1.15.1 k8s.gcr.io/kube-proxy:v1.15.1

docker tag docker.io/mirrorgooglecontainers/pause-arm64:3.1 k8s.gcr.io/pause:3.1

docker tag docker.io/mirrorgooglecontainers/etcd-arm64:3.3.10 k8s.gcr.io/etcd:3.3.10

docker tag docker.io/coredns/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1


三:初始化主从节点(k8s-master+k8s-nodes)

1:主节点上执行初始化命令

-kubeadm init --kubernetes-version=v1.15.1 --apiserver-advertise-address=10.126.4.57 --pod-network-cidr=10.244.0.0/16

-mkdir -p $HOME/.kube

-sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

-sudo chown $(id -u):$(id -g) $HOME/.kube/config

-export KUBECONFIG=/etc/kubernetes/admin.conf

2:从节点上执行初始化命令(主节点安装完后会给出如下参数&命令)

-kubeadm join 10.126.4.57:6443 --token f34yx0.qv2c25omvwq8gmhv --discovery-token-ca-cert-hash sha256:8c6f5bbaa1134195193000fd74947b6e0cbfcd8ce6ca146e3182bf70d48359e0

3:配置虚拟网络flannel

-主节点执行:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

-从节点执行:

docker pull quay-mirror.qiniu.com/coreos/flannel:v0.12.0-arm64

4:验证集群状态

-主节点上执行:

kubectl get node

注意将主节点的admin.conf拷贝到从节点

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile

source ~/.bash_profile

5:成功!

地址:

(kube-master)10.126.4.57

(kube-node1)10.126.4.58

//TODO 问题点总结

以上步骤是踩完无数坑后浓缩出来的核心步骤

发布于 12-02 00:20

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐