-
首先需要安装docker(这里指定安装的17.03.2版,因为想试着装下k8s1.10.2版,如果是装新版k8s就不用指定版本了)
##先获取证书
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
##添加仓库
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
##更新
apt-get update
##
##下载docker
apt-get install docker-ce=17.03.2~ce-0~ubuntu-xenial
-
然后是下载kubectl、kubeadm和kubelet(由于没有添加证书,所以下载时会询问你是否确定下载,选是就好,强迫症患者也可自行添加证书∩▂∩)
vim /etc/apt/sources.list.d/kubernetes.list
##添加
deb http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main
##保存退出
##更新
apt-get update
##下载
apt-get install kubectl=1.10.2-00
apt-get install kubeadm=1.10.2-00
apt-get install kubelet=1.10.2-00
-
第三步下载镜像(可使用阿里的镜像库,之前搭最新版使用的时候感觉挺好用的,这里没有使用)
docker pull anjia0532/kube-apiserver-amd64:v1.10.2
docker pull anjia0532/kube-controller-manager-amd64:v1.10.2
docker pull anjia0532/kube-scheduler-amd64:v1.10.2
docker pull anjia0532/kube-proxy-amd64:v1.10.2
docker pull anjia0532/etcd-amd64:3.1.12
docker pull anjia0532/pause-amd64:3.1
docker pull anjia0532/k8s-dns-sidecar-amd64:1.14.8
docker pull anjia0532/k8s-dns-kube-dns-amd64:1.14.8
docker pull anjia0532/k8s-dns-dnsmasq-nanny-amd64:1.14.8
##改名字,因为k8s搭建时找的是对应名字的镜像,不改名字也找不到
docker tag anjia0532/kube-apiserver-amd64:v1.10.2 k8s.gcr.io/kube-apiserver-amd64:v1.10.2
docker tag anjia0532/kube-scheduler-amd64:v1.10.2 k8s.gcr.io/kube-scheduler-amd64:v1.10.2
docker tag anjia0532/kube-controller-manager-amd64:v1.10.2 k8s.gcr.io/kube-controller-manager-amd64:v1.10.2
docker tag anjia0532/kube-proxy-amd64:v1.10.2 k8s.gcr.io/kube-proxy-amd64:v1.10.2
docker tag anjia0532/etcd-amd64:3.1.12 k8s.gcr.io/etcd-amd64:3.1.12
docker tag anjia0532/pause-amd64:3.1 k8s.gcr.io/pause-amd64:3.1
docker tag anjia0532/k8s-dns-sidecar-amd64:1.14.8 k8s.gcr.io/k8s-dns-sidecar-amd64:1.14.8
docker tag anjia0532/k8s-dns-kube-dns-amd64:1.14.8 k8s.gcr.io/k8s-dns-kube-dns-amd64:1.14.8
docker tag anjia0532/k8s-dns-dnsmasq-nanny-amd64:1.14.8 k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64:1.14.8
关闭swap
vim /etc/fstab
注释最后一行
reboot now
如果服务器不方便重启也可使用相关命令关闭
执行到这里master和node共通配置就完成了,虚拟机玩家可以在此复制出其他虚拟机节点,节省配置时间,复制时记得选中重置ip。接下来我们要展示的是master上的操作
1.初始化master
kubeadm init --pod-network-cidr=192.168.16.0/20 --apiserver-advertise-address=10.0.2.16 --kubernetes-version=v1.10.2
这上面的ip都要根据本机情况配置,不能一味照搬照抄。apiserver-advertise-address为本机ip,pod-network-cidr似乎是随便选的一个内网可用ip
注意:记下这部分内容(每个人不一样)
kubeadm join 10.0.2.16:6443 --token jcg6k4.j1ocy4r53558cje6 --discovery-token-ca-cert-hash sha256:3483e6761cf4740d880592831996f7e59d0163a7204b81b3b65090fa29549f62
设置环境变量KUBECONFIG
vim .bashrc
在末尾加入
export KUBECONFIG=/etc/kubernetes/admin.conf
或者直接执行(但这样重启后还需重新配置才能正常使用)
export KUBECONFIG=/etc/kubernetes/admin.conf
查看一下pod的状态
kubectl get pods -n kube-system -o wide
下载weave的配置文件,这里网络用的weave,大家也可自行选择
curl -L "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" > weave.yaml
修改
vim weave.yaml
##添加
- name: IPALLOC_RANGE
value: 192.168.16.0/20
例子

执行weave.yaml
kubectl apply -f weave.yaml
网友评论