一 : 下载3个组件
搜索 阿里云源 开源镜像网站 找kubernetes
点进去,配置方式
apt-get update && apt-get install -y apt-transport-https curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main EOF apt-get update apt-get install -y kubelet kubeadm kubectl
验证
root@myang-computer:~# kubeadm version kubeadm version: &version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.1", GitCommit:"4c9411232e10168d7b050c49a1b59f6df9d7ea4b", GitTreeState:"clean", BuildDate:"2023-04-14T13:20:04Z", GoVersion:"go1.20.3", Compiler:"gc", Platform:"linux/amd64"}
二 安装前的准备
下载镜像:
root@k8s-master:~# kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers --kubernetes-version=1.27.1
W0507 05:11:35.170289 144997 images.go:80] could not find officially supported version of etcd for Kubernetes v1.27.1, falling back to the nearest etcd version (3.5.7-0) [config/images] Pulled registry.aliyuncs.com/google_containers/kube-apiserver:v1.27.1 [config/images] Pulled registry.aliyuncs.com/google_containers/kube-controller-manager:v1.27.1 [config/images] Pulled registry.aliyuncs.com/google_containers/kube-scheduler:v1.27.1 [config/images] Pulled registry.aliyuncs.com/google_containers/kube-proxy:v1.27.1 [config/images] Pulled registry.aliyuncs.com/google_containers/pause:3.9 [config/images] Pulled registry.aliyuncs.com/google_containers/etcd:3.5.7-0 [config/images] Pulled registry.aliyuncs.com/google_containers/coredns:v1.10.1
修改containerd的pause镜像地址
vi /etc/containerd/config.toml 把pause的镜像地址,改为上面的下载地址
重启生效
systemctl restart containerd
三 集群创建
主节点上执行:
kubeadm init --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --kubernetes-version v1.27.1
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
ps: flannel默认10.244.0.0/16 calico默认192.168.0.0/16
从节点上执行:
kubeadm join 192.168.31.69:6443 --token 563668.0ifrxu1oaehgxx6x \
--discovery-token-ca-cert-hash sha256:894d743785ef3cb2c51c1aebc9855f166acde5903745cbe453a438123dca1399
下面的是相关的语句:
去master上查看token和hash值
查看token kubeadm token list
创建token kubeadm token create
查看hash值 openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
安装网络插件
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
其他命令:
rm -rf /etc/cni/net.d
rm -rf /etc/kubernetes/
kubectl taint node k8s-master node-role.kubernetes.io/control-plane:NoSchedule-
通过kubectl edit node k8s-master查看taint的key和value都是啥