今日斥资购买了两台VPS用于练习搭建k8s集群,本来想买3台的至少集群好看点,但是苦于囊中羞涩只能买两个了。
为什么不使用虚拟机或者直接买台杜甫来开虚拟机来搭建呢?唉~~~😔
这次安装k8s1.19.16是因为升级到1.20以上会提示Docker的问题,这个就等下次再安装测试了。
配置YUM源
yum install -y yum-utils yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF
安装Docker
yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序。
yum list docker-ce --showduplicates | sort -r
yum install docker-ce-19.03.9 yum install kubelet-1.19.16 kubeadm-1.19.16 kubectl-1.19.16
配置
mkdir /etc/docker/ touch /etc/docker/daemon.json cat > /etc/docker/daemon.json <<EOF { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m", "max-file": "3" }, "storage-driver": "overlay2" } EOF
systemctl daemon-reload systemctl restart docker docker info systemctl enable docker systemctl enable kubelet
配置转发
cat <<EOF > /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system
初始化
kubeadm init \ --apiserver-advertise-address=100.64.0.100 \ --kubernetes-version v1.19.16 \ --service-cidr=10.96.0.0/16 \ --pod-network-cidr=192.168.0.0/16
使用kubectl get nodes
会报错,
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
安装Calico
kubectl create -f https://docs.projectcalico.org/archive/v3.20/manifests/tigera-operator.yaml kubectl create -f https://docs.projectcalico.org/archive/v3.20/manifests/custom-resources.yaml
这次相比1.14的还有很多不太明白。。。。etcd也不是单独安装,API-Server也不使用不安全的8080端口,Calico还是不明白如何配置etcd。
ChiuYut
2021年11月29日