如何进行K8s集群部署
版权声明:本文由神州数码云基地团队整理撰写,若转载请注明出处。写在前面:系统环境:CPU 8核,16G内存,系统Ubuntu 18.04.4 LTS,docker-ce 18.06.3-ce,kernel arm64一:系统环境前置准备(master+node):1:关闭swap交换内存-swap打开的情况下,kubelet无法正常运行sudo swapoff -a2:更改HostName-vim
版权声明:本文由神州数码云基地团队整理撰写,若转载请注明出处。
写在前面:
系统环境: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
更多推荐
所有评论(0)