Minkube部署单节点kubernetes

minikube是一个快速构建单节点kubernetes的一个工具,用于快速构建本地测试和开发环境。

1、关闭防火墙和selinux

systemctl stop firewalld && systemctl disable firewalld
setenforce 0
sed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config

2、配置网络转发模块

modprobe br_netfilter
cat<> /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sysctl -p /etc/sysctl.d/k8s.conf

3、安装docker

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start

# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ee.repo
#   将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
#   Loading mirror speeds from cached hostfile
#   Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64            3:23.0.0-1.el7                      docker-ce-stable
# docker-ce.x86_64            3:20.10.9-3.el7                     docker-ce-stable
# docker-ce.x86_64            3:20.10.8-3.el7                     docker-ce-stable
# docker-ce.x86_64            3:20.10.7-3.el7                     docker-ce-stable
# ...
#   Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]

4、配置docker加速源

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <

5、启动docker服务

systemctl daemon-reload && systemctl restart docker && systemctl enable docker

6、安装kubectl

wget "https://storage.googleapis.com/kubernetes-release/release/v1.23.7/bin/linux/amd64/kubectl" -O "/usr/local/bin/kubectl"
chmod 755 /usr/local/bin/kubectl
# 安装版本查看
kubectl version

注:如果环境没有wget命令,需要先安装wget命令

yum install -y wget

7、安装minkube

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
# 查看安装版本
minikube version

8、安装k8s

minikube start --image-mirror-country cn --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --registry-mirror=https://ovfftd6p.mirror.aliyuncs.com --driver=none --kubernetes-version v1.23.7
# 异常
# X Exiting due to GUEST_MISSING_CONNTRACK: Sorry, Kubernetes 1.23.7 requires conntrack to be installed in root's path

注:minikube默认使用root用户会报错,可以创建一个普通用户来运行,并赋予docker组中,或者安装conntrack

yum install -y conntrack

 9、查看k8s节点状态 & 集群状态

kubectl get node
NAME                    STATUS   ROLES                  AGE     VERSION
localhost.localdomain   Ready    control-plane,master   2m12s   v1.23.7
kubectl cluster-info
Kubernetes control plane is running at https://192.168.126.131:8443
CoreDNS is running at https://192.168.126.131:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

10、安装dashboard

minikube dashboard

dashboard和metrics pod启动失败

失败原因:无法拉取到镜像 

Minkube部署单节点kubernetes_第1张图片

解决办法:

# 解决办法:
# 1.手动拉一下
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/dashboard:v2.7.0
# 查看镜像
docker images
REPOSITORY                                                                    TAG                 IMAGE ID            CREATED             SIZE
registry.cn-hangzhou.aliyuncs.com/google_containers/dashboard                               07655ddf2eeb        4 months ago        246MB
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver            v1.23.7             03c169f383d9        8 months ago        135MB
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy                v1.23.7             b1aa05aa5100        8 months ago        112MB
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager   v1.23.7             e34d4a6252ed        8 months ago        125MB
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler            v1.23.7             ed0ccfa052ab        8 months ago        53.5MB
registry.cn-hangzhou.aliyuncs.com/google_containers/etcd                      3.5.1-0             25f8c7f3da61        15 months ago       293MB
registry.cn-hangzhou.aliyuncs.com/google_containers/coredns                   v1.8.6              a4ca41631cc7        16 months ago       46.8MB
registry.cn-hangzhou.aliyuncs.com/google_containers/pause                     3.6                 6270bb605e12        17 months ago       683kB
registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner       v5                  6e38f40d628d        22 months ago       31.5MB

# 2.打标
docker tag  07655ddf2eeb registry.cn-hangzhou.aliyuncs.com/google_containers/dashboard
# 删一下(可不删)
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/dashboard

删除dashboard和metrics两个pod,再次查看pod状态

Minkube部署单节点kubernetes_第2张图片

你可能感兴趣的:(云计算,kubernetes,linux)