下面使用kubeadm来创建k8s cluster
1. 所有主机节点上都需要安装docker

参考官方文档: https://docs.docker.com/install/linux/docker-ce/ubuntu/

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。


2. config /etc/hosts,config every node and hostname
10.100.0.128 k8s-master
10.100.0.29 k8s-node1

修改主机名,规划好master和node

修改/etc/hostname文件来永久修改hostname


3. 在所有节点上安装 kubectl

# curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
# curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt  #获取当前稳定版本
# curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.14.1/bin/linux/amd64/kubectl  #版本号根据需要可自行修改
# chmod +x ./kubectl
# sudo mv ./kubectl /usr/local/bin/kubectl
# source <(kubectl completion bash)

###ubuntu版本如果支持快捷安装可以执行以下命令来安装###
# sudo snap install kubectl --classi

 
4. 在所有节点上安装 kubelet kubeadm

# apt-get update && apt-get install -y apt-transport-https
# curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
# cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
# apt-get update
# apt-get install -y kubelet kubeadm

 

5. 初始化master节点

pod网络插件是必要安装,以便pod可以相互通信. 清提前确认自己需要使用的pod网络插件,以Flannel为例,为了使Flannel正常工作,执行kubeadm init命令时需要增加--pod-network-cidr=10.244.0.0/16参数

# kubeadm init --pod-network-cidr=10.244.0.0/16

use tocken: qjm4v2.8mqfbjrtjpf2xmq2
output:
Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

# mkdir -p $HOME/.kube
# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# sudo chown $(id -u):$(id -g) $HOME/.kube/config

 

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 10.100.0.128:6443 --token qjm4v2.8mqfbjrtjpf2xmq2 \
--discovery-token-ca-cert-hash sha256:65131ae78527130dfd6ccf0b6be6e86d2089c4d07856d7f318cede1ce84fb0ef

6. 安装pod插件

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

 

7. 添加工作节点

  • SSH到node
  • 切换到roo用户
  • 执行添加node命令:
# kubeadm join --token <token> <master-ip>:<master-port>

 

 

参考文档:http://docs.kubernetes.org.cn/459.html

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄