使用kubeadm快速搭建单master节点的kubernetes集群

2 篇文章 0 订阅

环境:AWS国际区
master节点:1个
node节点:1个
OS:ubuntu 18.04
运行环境:Docker
网络组件:calico
参考:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#pod-network

检查环境

ensure legacy binaries are installed

#sudo apt-get install -y iptables arptables ebtables

switch to legacy versions

#sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
#sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
#sudo update-alternatives --set arptables /usr/sbin/arptables-legacy
#sudo update-alternatives --set ebtables /usr/sbin/ebtables-legacy

检查端口

Control-plane node(s)

Protocol Direction Port Range Purpose Used By
TCP Inbound 6443* Kubernetes API server All
TCP Inbound 2379-2380 etcd server client API kube-apiserver, etcd
TCP Inbound 10250 Kubelet API Self, Control plane
TCP Inbound 10251 kube-scheduler Self
TCP Inbound 10252 kube-controller-manager Self

Worker node(s)

Protocol Direction Port Range Purpose Used By
TCP Inbound 10250 Kubelet API Self, Control plane
TCP Inbound 30000-32767 NodePort Services

安装docker

#https://phoenixnap.com/kb/how-to-install-docker-on-ubuntu-18-04

#sudo apt-get update
#sudo apt-get remove docker docker-engine docker.io
#sudo apt install docker.io
#sudo systemctl start docker
#sudo systemctl enable docker

安装kubelet kubeadm kubectl

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

初始化master节点 (仅限主节点)

#https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/

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

获取working-node的加入集群命令

在普通账号下

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

在root账号下

#export KUBECONFIG=/etc/kubernetes/admin.conf

安装Calico

#kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml

工作节点加入集群 (仅限工作节点)

脚本化

主节点脚本

#! /bin/sh
## ensure legacy binaries are installed
sudo apt-get install -y iptables arptables ebtables

# 安装docker
echo [+] install docker
sudo apt-get -y update
sudo apt-get -y remove docker docker-engine docker.io
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

# 安装kubelet kubeadm kubectl
echo [+] install kubeadm kubectl kubelet
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt-get -y update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

# 初始化master节点 (仅限主节点) 
echo [+] init master
sudo kubeadm init --pod-network-cidr=192.168.0.0/16  

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


# 安装Calico
echo [+] instdall calico
kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml

工作节点脚本

#! /bin/sh
## ensure legacy binaries are installed
sudo apt-get install -y iptables arptables ebtables

# 安装docker
echo [+] install docker
sudo apt-get -y update
sudo apt-get -y remove docker docker-engine docker.io
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

# 安装kubelet kubeadm kubectl
echo [+] install kubeadm kubectl kubelet
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt-get -y update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

# 初始化working节点 (仅限工作节点) 
echo [+] init working node
sudo kubeadm join 172.31.5.217:6443 --token ozzpfj.ghz6f0xr4xhtervk \
    --discovery-token-ca-cert-hash sha256:8f5d33325527071c5fada95968e0b8ff3dac2ac3b9854478e22bf84623bbfe49 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值