目录
一、使用minikube
启动minikube的LoadBalancer支持
minikube tunnel
-
错误1:The “docker” driver should not be used with root privileges.
解决:将用户加入docker组useradd minikube usermod -aG docker minikube
指定minikube自带docker的docker0网桥网段
minikube ssh
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"bip":"172.17.100.1/24"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
可以运行一个例子看看是否生效
kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1
minikube使用本地image
-
方法1
用minikube自带docker环境进行image创建eval $(minikube docker-env)
-
方法二
将本地image加入minikube的cahceminikube cache add <IMAGE_NAME>
二、使用kubeadm手工安装
1、安装前准备
- 确认安装的kubenetes支持的最高版本的docker
当使用不支持的版本时,运行kubeadm init会出错:
[arksea@vm-centos-1 sysconfig]$ sudo kubeadm init --ignore-preflight-errors=SystemVerification
[init] Using Kubernetes version: v1.20.2
[preflight] Running pre-flight checks
[WARNING SystemVerification]: this Docker version is not on the list of validated versions: 20.10.3. Latest validated version: 19.03
error execution phase preflight: [preflight] Some fatal errors occurred:
查询可以使用docker版本
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:20.10.3-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.3-3.el8 @docker-ce-stable
docker-ce.x86_64 3:20.10.2-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.1-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.0-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.15-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.14-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.13-3.el8 docker-ce-stable
已安装的软件包
上次元数据过期检查:0:07:18 前,执行于 2021年02月07日 星期日 17时00分22秒。
可安装的软件包
安装指定版本的docker
$ sudo yum install docker-ce-19.03.15-3.el8 docker-ce-cli-19.03.15-3.el8 containerd.io
-
修改Cgroup驱动
systemd使用的cgroupfs驱动,如果容器也使用cgroupfs,则节点将有两个不同cgroup管理器,这可能会让节点在资源压力下变得不稳定,所以让容器直接使用systemd。注意不要在节点安装加入集群后修改。(官方文档)
编辑 /etc/docker/daemon.json (不存在就新建),配置运行参数:{ "exec-opts": ["native.cgroupdriver=systemd"] }
需要重启Docker,重启后可查看docker info确认修改
# systemctl restart docker # docker info
2、允许iptables检查桥接流量
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system
3、安装kubelet kubeadm kubectl
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
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
exclude=kubelet kubeadm kubectl
EOF
# 将 SELinux 设置为 permissive 模式(相当于将其禁用)
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl en