环境准备:一台虚拟机,直接安装k8s

  • 部署安装的版本为:docker-ce-20.10.9和K8S-v1.16.4

1.# 替换 yum -y install docker-ce 为:

yum -y install docker-ce-20.10.9 docker-ce-cli-20.10.9 containerd.io

2.使用yum安装kubectl、kubeadm和kubelet

cat >/etc/yum.repos.d/kubernetes.repo<<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
repo_gpgcheck=0
EOF
yum clean all
yum makecache faster
yum -y install kubectl-1.16.4 kubeadm-1.16.4 kubelet-1.16.4

3.配置kubectl命令tab补全

yum -y install bash-completion
source /etc/profile.d/bash_completion.sh
kubectl completion bash
source <(kubectl completion bash)
echo 'source <(kubectl completion bash)'>>/etc/profile
4.下载安装 Minikube,相关连接 https://github.com/kubernetes/minikube/releases

cd /tmp
wget https://github.com/kubernetes/minikube/releases/download/v1.7.3/minikube-1.7.3-0.x86_64.rpm
yum -y localinstall minikube-1.7.3-0.x86_64.rpm
minikube version
5.将相应K8S集群版本所需要的镜像下载到本地

# 对应版本的镜像列表查询
kubeadm config images list --kubernetes-version=v1.16.4
# 百度国内可下载的镜像源进行下载,并补充下载后续发现的缺失镜像
cat >/tmp/image.sh<<EOF
#!/bin/bash
url=registry.cn-hangzhou.aliyuncs.com/loong576
version=v1.16.4
images=\$(kubeadm config images list --kubernetes-version=\${version}|awk -F '/' '{print \$2}')
for imagename in \${images} ; do
  docker pull \${url}/\${imagename}
  docker tag \${url}/\${imagename} k8s.gcr.io/\${imagename}
  docker rmi -f \${url}/\${imagename}
done
docker pull \${url}/flannel:v0.11.0-amd64
docker tag \${url}/flannel:v0.11.0-amd64 quay.io/coreos/flannel:v0.11.0-amd64
docker rmi -f \${url}/flannel:v0.11.0-amd64
docker pull dieudonnecc/storage-provisioner:v1.8.1
docker tag dieudonnecc/storage-provisioner:v1.8.1 gcr.io/k8s-minikube/storage-provisioner:v1.8.1
docker rmi -f dieudonnecc/storage-provisioner:v1.8.1
EOF
bash /tmp/image.sh
docker image ls

6.安装K8S-v1.16.4

yum -y install bind-utils
mkdir -pv ~/.minikube/cache/linux/v1.16.4/
cd ~/.minikube/cache/linux/v1.16.4/
ln -s /usr/bin/kubeadm kubeadm
ln -s /usr/bin/kubectl kubectl
ln -s /usr/bin/kubelet kubelet

7.下面关键的一步,换成阿里云的repository,否则minikube启动不成功 #--registry-mirror='registry.cn-hangzhou.aliyuncs.com/google_containers'


minikube start --registry-mirror='registry.cn-hangzhou.aliyuncs.com/google_containers'  \

--vm-driver=none --kubernetes-version v1.16.4

8.测试

minikube status
kubectl get node --namespace=kube-system
kubectl get pods --namespace=kube-system
# 如果某个Pod有问题,查看相关信息,一般是image无法成功下载造成的,手动下载解决问题
# kubectl -n kube-system logs PodName
# kubectl -n kube-system describe pod PodName
kubectl get all --namespace=kube-system
minikube stop
minikube delete
rm -rf ~/.minikube/
rm -rf ~/.kube/
 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐