0
点赞
收藏
分享

微信扫一扫

Ubuntu 20.04搭建K8S集群

小月亮06 2022-01-26 阅读 169

Ubuntu 20.04搭建K8S集群:
注:
1、该kubenetes操作仍然使用docker为容器进行时
2、swap需要关闭


安装(所有node上都执行):

swapoff -a

/etc/fstab里记得也注掉

vi /etc/hosts

10.0.0.3 mingk8s01
:wq

vi /etc/sysctl.d/k8s.conf

net.ipv4.ip_forward = 1
vm.swappiness = 0
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
:wq

sysctl -p /etc/sysctl.d/k8s.conf

vi /etc/apt/sources.list.d/kubernetes.list

deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable
deb http://mirrors.aliyun.com/ubuntu focal main restricted
deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
:wq

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -

apt-get update

apt-get install -y docker-ce

vi /etc/docker/daemon.json

{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
:wq

systemctl restart docker

apt-get install kubeadm kubectl kubelet

systemctl enable kubelet

初始化master节点(仅master上执行):

kubeadm config print init-defaults > kubeadm.yaml

vi kubeadm.yaml

advertiseAddress: 10.0.0.3 (默认为1.2.3.4,改为本机ip)
name: mingk8s01 (本机名)
imageRepository: registry.aliyuncs.com/google_containers (默认为k8s.gcr.io)
podSubnet: 10.244.0.0/16 (指定pod网段)
:wq

kubeadm config images pull --config kubeadm.yaml

kubeadm init --config kubeadm.yaml

出现successfully
另外会显示加入该集群命令

mkdir ~/.kube

cp -rv /etc/kubernetes/admin.conf ~/.kube/config

chown root:root ~/.kube/config

此时看master为NotReady状态(因为没有网络插件)

kubectl get nodes

安装calico网络插件(该步只需在master上操作)

curl https://docs.projectcalico.org/manifests/calico.yaml -0 (最后0为数字)

kubectl apply -f calico.yaml

查看calico pods状态(需要5~10分钟完成)

kubectl get pods -n kube-system

再看master状态应该就ready了

kubectl get nodes

其它node加入集群:

kubeadm join 10.0.0.3:6443 --token yio1o6.zq85eudygtevzvd1 --discovery-token-ca-cert-hash sha256:318eebe90133c8f9892ac00c072c584025f36f1b6dae3ae4b5948f8c981bd90f

如果再次加入需要先reset
#kubeadm reset


验证(在master上执行):

kubectl cluster-info

kubectl get nodes (状态显示为Ready即正常)


举报

相关推荐

0 条评论