1.安装容器引擎
apt-get update apt-get install -y apt-transport-https ca-certificates curl software-properties-common 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 apt-get -y install docker-ce=17.03.2~ce-0~ubuntu-xenial
2.安装kubeadm
在没有加速的情况下,必须使用国内源。
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - vi /etc/apt/sources.list.d/kubernetes.list deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main apt-get update apt-get install -y kubelet=1.10.2-00 kubeadm=1.10.2-00 kubectl=1.10.2-00 kubernetes-cni=0.6.0-00 kubeadm version kubectl version cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf systemctl status kubelet 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 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
初始化处理:
kubeadm init --apiserver-advertise-address=148.70.251.10 --kubernetes-version=1.10.2 ( kubeadm join 148.70.251.10:6443 --token nh819o.pzcpohatm7p3a5cm --discovery-token-ca-cert-hash sha256:55254659ea80b335a09dd627757d6aecd10b2c6fbdaddc63dd9bae9ec353cc49 ) 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
查看mster组件运行情况
在执行kubeadm init失败之后,我们需要重kubeadm reset会将kubeadm恢复到初始状态。
3.安装网络插件
curl -L "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d ' ')" > weave.yaml
编辑weave.yaml
使配置失效:
kubectl apply -f weave.yaml
查看运行情况:
4.加入worker节点
worker节点也需要和master一样,安装kubeadm辅助工具
#!/usr/bin/bash #安装容器引擎 apt-get update apt-get install -y apt-transport-https ca-certificates curl software-properties-common 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 apt-get -y install docker-ce=17.03.2~ce-0~ubuntu-xenial systemctl restart docker #镜像下载 docker pull anjia0532/pause-amd64:3.1 docker pull anjia0532/kube-proxy-amd64:v1.10.2 docker tag anjia0532/pause-amd64:3.1 k8s.gcr.io/pause-amd64:3.1 docker tag anjia0532/kube-proxy-amd64:v1.10.2 k8s.gcr.io/kube-proxy-amd64:v1.10.2 #安装kubeadm、kubecet、kubectl curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - cat >> /etc/apt/sources.list.d/kubernetes.list << EOF deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main EOF apt-get update apt-get install -y kubelet=1.10.2-00 kubeadm=1.10.2-00 kubectl=1.10.2-00 kubernetes-cni=0.6.0-00 kubeadm join 148.70.251.10:6443 --token e4h0ek.9b7drehx2xlexaf5 --discovery-token-ca-cert-hash sha256:70bfd4ed05d1a1f1c12eb817d2978962131aaf0d2b796a87f4100daeb9a85070
查看节点状态:
需要说明的是,master节点也可以承担工作负荷,但是并不建议这样做。
5.配置命令行交互工具
在master节点通过kubectl工具来管理整个集群。
如果我们希望在每个worker节点上都可以管理集群,我们可以配置命令行管理工具。
分发admin.conf文件:
scp /etc/kubernetes/admin.conf root@148.70.122.28:/etc/kubernetes/
添加环境变量(/etc/profile):
export KUBECONFIG='/etc/kubernetes/admin.conf'
然后在当前节点上就可以通过kubectl来进行管理: