虽然网上已经有很多相关的博客了,但并不是完全适用于我们小组的情况,所以树个碑记录一下3周的痛苦经历。

系统配置

禁用swap

执行 swapoff -a
无输出(这个命令无法永久禁用,永久禁用看下文,master与node都要禁用)

关闭防火墙

执行 systemctl stop firewalld
输出 Failed to stop firewalld.service: Unit firewalld.service not loaded.
执行 systemctl disable firewalld
输出 Failed to execute operation: No such file or directory

禁用SELINUX

执行

 `apt install selinux-utils`
  setenforce 
  vim /etc/selinux/config
  SELINUX=disabled

安装指定版本docker(因为无法翻墙k8s只能用压缩包,为了使k8s与docker版本匹配,不能下载最新版本)

如果kubernetes的版本为1.8-1.11,docker版本必须为1.11.2-1.13.1和docker-ce版本为17.03.x
如果kubernetes的版本从1.12开始,docker版本必须为17.06/17.09/18.06

先安装相关工具

apt-get update && apt-get install -y apt-transport-https curl

添加docker源

cat >/etc/apt/sources.list.d/docker-main.list<<EOF
deb [arch=amd64] http://mirrors.aliyun.com/docker-engine/apt/repo ubuntu-xenial main
EOF

添加密钥

curl -fsSL https://apt.dockerproject.org/gpg | sudo apt-key add –

更新源和升级系统

apt-get update && apt-get upgrade -y

卸载旧版本docker

sudo apt-get remove docker docker-engine docker-ce docker.io

列出docker版本

apt-cache policy docker-engine

安装指定版本

apt-get install -y docker-engine=xxxxx 

查看docker版本

sudo docker version

启动docker服务和查看docker状态

systemctl enable docker
systemctl start docker
systemctl status docker

安装k8s(kubectl,kubelet,kubeadm,master与node都要装)

解压k8s.rar

下载镜像

docker load -i         

添加Kubernetes软件源

cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main
EOF

vim /etc/apt/sources.list.d/kubernetes.list
# deb http://apt.kubernetes.io/ kubernetes-xenial main
deb http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main

设置网桥

sudo sysctl net.bridge.bridge-nf-call-iptables=1

更新索引包

sudo apt-get update

获取HTTPS支持

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

安装指定版本

apt-get install kubernetes-cni=0.6.0-00
apt-get install -y --allow-unauthenticated kubelet=1.10.5-00 kubeadm=1.10.5-00 kubectl=1.10.5-00
apt-get install kubernetes-cni=0.6.0-00

初始化(master)

kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=10.2.14.78 --kubernetes-version=v1.13.2 --ignore-preflight-errors=Swap

如果有问题要改下版本号或者是已经初始过了再次初始就会出问题所以需要kubeadm reset
正常会有类似这个的东西

kubeadm join 10.2.14.78:6443 --token h7u22o.nk23ias5f1ft8hj9 --discovery-token-ca-cert-hash sha256:9f93785608c9a9de3e5d74e9ed30b8302691abfee7efd946a8c1b80d8582fe92

在node中执行一下即可

配置master网络

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

配置node网络

百度
在master上运行kubectl get nodes若全ready则搭建完成

参考博客

https://blog.csdn.net/qq_14845119/article/details/83349471
https://blog.csdn.net/wangchunfa122/article/details/86529406
https://blog.csdn.net/weixin_34060741/article/details/91211475

关于如何修改IP

查看网关命令

netstat -rn

查看网卡信息

Ifconfig

修改网卡

sudo vi /etc/network/interfaces

默认文件如下

auto lo
iface lo inet loopback

修改为(enp0s3修改为网卡名字)

auto ens33
iface ens33 inet static
address 192.168.136.131
netmask  255.255.255.0
gateway  192.168.136.2
dns-nameservers  114.114.114.114

永久禁用swap
详见

https://blog.csdn.net/csdn_duomaomao/article/details/75142769

Logo

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

更多推荐