安装 kubeadm
kubeadm 是 kubernetes 的集群安装工具,能够快速安装 kubernetes 集群。
配置kubernetes软件源
- kubernetes阿里云源
echo "[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/enabled=1gpgcheck=1repo_gpgcheck=1=gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg" >>/etc/yum.repos.d/kubernetes.repo
安装工具
安装kubernetes所需工具
- kubelet、kubeadm、kubectl
sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
启动kubelet
- 安装完成后启动 kubelet服务
systemctl enable --now kubelet
配置kubeadm
概述
安装 kubernetes 主要是安装它的各个镜像,而 kubeadm 已经为我们集成好了运行 kubernetes 所需的基本镜像。但由于国内的网络原因,在搭建环境时,无法拉取到这些镜像。此时我们只需要修改为阿里云提供的镜像服务即可解决该问题。
配置文件
创建文件存储路径
mkdir -p /usr/local/docker/kubernetes && cd /usr/local/docker/kubernetes
获取默认配置
kubeadm config print init-defaults --kubeconfig ClusterConfiguration > kubeadm-config.yml
编辑获取到的文件
vi kubeadm-config.yml
调整里面主要注释的几个地方
apiVersion: kubeadm.k8s.io/v1beta2bootstrapTokens:- groups:- system:bootstrappers:kubeadm:default-node-tokentoken: abcdef.0123456789abcdefttl: 24h0m0susages:- signing- authenticationkind: InitConfigurationlocalAPIEndpoint:# 改为自己的 master 地址advertiseAddress: 192.168.233.200bindPort: 6443nodeRegistration:criSocket: /var/run/dockershim.sockname: k8smastertaints:- effect: NoSchedulekey: node-role.kubernetes.io/master---apiServer:timeoutForControlPlane: 4m0sapiVersion: kubeadm.k8s.io/v1beta2certificatesDir: /etc/kubernetes/pkiclusterName: kubernetescontrollerManager: {}dns:type: CoreDNSetcd:local:dataDir: /var/lib/etcd# 由于国外镜像过慢,调整为阿里云镜像仓库imageRepository: registry.aliyuncs.com/google_containerskind: ClusterConfigurationkubernetesVersion: v1.17.4networking:dnsDomain: cluster.local# 配置成 Calico 的默认网段podSubnet: 192.168.0.0/16serviceSubnet: 10.96.0.0/12scheduler: {}---# 开启 IPVS 模式apiVersion: kubeproxy.config.k8s.io/v1alpha1kind: KubeProxyConfigurationfeatureGates:SupportIPVSProxyMode: truemode: ipvs
查看和拉取镜像
- 查看镜像文件版本
kubeadm config images list --config kubeadm-config.yml
registry.aliyuncs.com/google_containers/kube-apiserver:v1.17.4 registry.aliyuncs.com/google_containers/kube-controller-manager:v1.17.4 registry.aliyuncs.com/google_containers/kube-scheduler:v1.17.4 registry.aliyuncs.com/google_containers/kube-proxy:v1.17.4 registry.aliyuncs.com/google_containers/pause:3.1 registry.aliyuncs.com/google_containers/etcd:3.4.3-0 registry.aliyuncs.com/google_containers/coredns:1.6.5
- 拉取配置中所需的镜像
kubeadm config images pull --config kubeadm-config.yml
[config/images] Pulled registry.aliyuncs.com/google_containers/kube-apiserver:v1.17.4 [config/images] Pulled registry.aliyuncs.com/google_containers/kube-controller-manager:v1.17.4 [config/images] Pulled registry.aliyuncs.com/google_containers/kube-scheduler:v1.17.4 [config/images] Pulled registry.aliyuncs.com/google_containers/kube-proxy:v1.17.4 [config/images] Pulled registry.aliyuncs.com/google_containers/pause:3.1 [config/images] Pulled registry.aliyuncs.com/google_containers/etcd:3.4.3-0 [config/images] Pulled registry.aliyuncs.com/google_containers/coredns:1.6.5
