【按官方样例】kubeadm install k8s 单机集群(紧跟最新版)

@see kubeadm install

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

  • 谨记按照官方文档步骤处理,这篇文章仅对官方步骤遇到问题时折中处理
  • 官方给出的 /etc/yum.repos.d/kubernetes.repo 由于 https://packages.cloud.google.com 连不上,使用 http://mirrors.aliyun.com/kubernetes 置换之
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-$basearch
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
install kubelet kubeadm kubectl
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

@see kubeadm init a k8s cluster

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

执行 kubeadm init
# // 10.244.0.0/16 是网络插件 flannel 的默认 cidr 网段
kubeadm init --pod-network-cidr 10.244.0.0/16
肯定遇到 k8s.gcr.io 网络不通问题
  1. 手动下载以下镜像,具体版本号 kubeadm config images list 确认下,持续有更新 kubeadm 新版必定有新依赖,自己修改成对应版本号哈。
k8s.gcr.io/kube-apiserver:v1.21.2
k8s.gcr.io/kube-controller-manager:v1.21.2
k8s.gcr.io/kube-scheduler:v1.21.2
k8s.gcr.io/kube-proxy:v1.21.2
k8s.gcr.io/pause:3.4.1
k8s.gcr.io/etcd:3.4.13-0
k8s.gcr.io/coredns/coredns:v1.8.0
  1. 因为 k8s.gcr.io 网络不通,所以从 registry.aliyuncs.com/google_containers 拉镜像后打 tag
docker pull registry.aliyuncs.com/google_containers/kube-apiserver:v1.21.2
docker pull registry.aliyuncs.com/google_containers/kube-controller-manager:v1.21.2
docker pull registry.aliyuncs.com/google_containers/kube-scheduler:v1.21.2
docker pull registry.aliyuncs.com/google_containers/kube-proxy:v1.21.2
docker pull registry.aliyuncs.com/google_containers/pause:3.4.1
docker pull registry.aliyuncs.com/google_containers/etcd:3.4.13-0
docker pull registry.aliyuncs.com/google_containers/coredns/coredns:v1.8.0
  1. 打 tag
docker tag registry.aliyuncs.com/google_containers/kube-apiserver:v1.21.2 k8s.gcr.io/kube-apiserver:v1.21.2
docker tag registry.aliyuncs.com/google_containers/kube-controller-manager:v1.21.2 k8s.gcr.io/kube-controller-manager:v1.21.2
docker tag registry.aliyuncs.com/google_containers/kube-scheduler:v1.21.2 k8s.gcr.io/kube-scheduler:v1.21.2
docker tag registry.aliyuncs.com/google_containers/kube-proxy:v1.21.2 k8s.gcr.io/kube-proxy:v1.21.2
docker tag registry.aliyuncs.com/google_containers/pause:3.4.1 k8s.gcr.io/pause:3.4.1
docker tag registry.aliyuncs.com/google_containers/etcd:3.4.13-0 k8s.gcr.io/etcd:3.4.13-0
docker tag registry.aliyuncs.com/google_containers/coredns/coredns:v1.8.0 k8s.gcr.io/coredns/coredns:v1.8.0
  1. (可选) 若 coredns/coredns:v1.8.0 不存在,直接去 dokcer hub 搜索便可,注意发现版本号没有 ‘v’ 开头
docker pull coredns/coredns:1.8.0
docker tag coredns/coredns:1.8.0 k8s.gcr.io/coredns/coredns:v1.8.0

按照官方提示再继续

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

  • 谨记按照官方文档步骤处理,这篇文章仅对官方步骤遇到问题时折中处理
  • 然后继续安装网络插件 Flannel (我们小白就用这个吧), Flannel 官方提示执行以下命令
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
  • 上面或许直接下不来文件,那就先 wget 再 apply 吧
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.yml
  • for example for a single-machine Kubernetes cluster for development, run:
  • 单机集群版允许 k8s master 节点也作为 worker,可调度 pod
kubectl taint nodes --all node-role.kubernetes.io/master-
  • 大功告成,看看吧
kubectl get nodes
kubectl get pods --all-namespaces
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值