Vmware虚拟机Ubantu安装Docker、k8s、kuboard

准备工作:

  1. 切换用户:su root
  2. 关闭防火墙: sudo ufw diasble
  3. 关闭swap:
javascript 复制代码
systemctl stop swap.target
systemctl status swap.target
systemctl disable swap.target   #开机禁用
systemctl stop swap.img.swap
systemctl status swap.img.swap

关闭虚拟交换分区
vim /etc/fstab  
将 包含swap 的一行注释掉
  1. 更新apt: apt-get update
  2. 时间同步
    先查看时区是否正常,不正确则替换为上海时区
javascript 复制代码
date
timedatectl set-timezone Asia/Shanghai   #设置时区
apt -y install ntp	 	#安装ntp服务
systemctl start ntp
systemctl enable ntp

安装docker

安装docker:

javascript 复制代码
apt install -y docker.io
systemctl status docker
systemctl enable docker:开机自启

更换docker镜像地址:

javascript 复制代码
sudo vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://docker.m.daocloud.io","https://p5lmkba8.mirror.aliyuncs.com","https://registry.docker-cn.com"]
}

下面选一个: 
a. 阿里云国内源加速:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
b. "http://hub-mirror.c.163.com",
        "https://mirrors.tuna.tsinghua.edu.cn",
        "http://mirrors.sohu.com",
        "https://ustc-edu-cn.mirror.aliyuncs.com",
        "https://ccr.ccs.tencentyun.com",
        "https://docker.m.daocloud.io",
        "https://docker.awsl9527.cn"
c. "https://dockerpull.org","https://docker.unsee.tech/","https://docker.1panel.live/","https://docker.udayun.com/","https://docker.nastool.de/"
d.  "https://docker.mirrors.ustc.edu.cn"
e. "https://alzgoonw.mirror.aliyuncs.com"
f. "http://hub-mirror.c.163.com","https://registry.docker-cn.com"

若还提示Error response from daemon可试试修改以下文件:
sudo vim /etc/resolv.conf
添加nameserver 8.8.8.8
若还原可查阅https://blog.csdn.net/qq_43445867/article/details/142874167

可查看镜像地址是否修改成功:sudo docker info

修改后必须重启:
sudo systemctl daemon-reload
sudo systemctl restart docker

可查询镜像验证地址是否可用:docker search hello-world

安装kubeamd、kubectl、kubelet安装脚本

执行(可创建sh脚本执行):
javascript 复制代码
#!/bin/bash
apt update && apt install apt-transport-https
curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main"
apt-get update
apt-cache madison kubelet kubectl kubeadm |grep '1.22.7-00' 
apt install -y kubelet=1.22.7-00 kubectl=1.22.7-00 kubeadm=1.22.7-00
禁用swap
javascript 复制代码
vim /etc/default/kubelet

KUBELET_EXTRA_ARGS="--fail-swap-on=false"

systemctl daemon-reload && systemctl restart kubelet
修改cgroup管理器
javascript 复制代码
vim /etc/docker/daemon.json

{
  "exec-opts": [
    "native.cgroupdriver=systemd"
  ], 
  "registry-mirrors": ["https"] #注意这个用自己的
}

systemctl restart docker
systemctl restart kubelet
克隆两个worker

修改hostname: hostnamectl set-hostname k8s-worker1

创建集群

查看kubectl version

初始化集群 master、两个worker同样都要执行

javascript 复制代码
kubeadm init \
  --kubernetes-version=v1.22.7 \
  --image-repository registry.aliyuncs.com/google_containers \
  --pod-network-cidr=10.24.0.0/16 \
  --ignore-preflight-errors=Swap


如果失败了,基本都是所需的几个设置的问题:
swap没有关闭
ufw 没关
cgroup管理器没有修改
下载的kubeadm没有指定小于1.25.0,因为1.25.0之后k8s使用了containerd。
这个时候使用
kubeadm reset
充值kubeadm
然后检查错误,重新kubeadm init即可
记录得到的信息

Your Kubernetes control-plane has initialized successfully! ...kubeadm join

执行.kube配置
javascript 复制代码
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
配置calico网络
javascript 复制代码
wget curl https://projectcalico.docs.tigera.io/manifests/calico.yaml
kubectl apply -f calico.yaml
master查看节点
javascript 复制代码
kubectl get nodes
应该只有master

两个worker执行:

javascript 复制代码
把master 记录得到的信息最后一行kubeadm join...执行
重新生成一条:kubeadm token create --print-join-command


如果出现文件已存在错误: rm -rf /etc/kubernetes/manifests /etc/kubernetes/kubelet.conf /etc/kubernetes/pki/ca.crt
如果出现端口已占用: lsof -i :11250    kill -9 pid
可尝试:kubeadm reset   
再次去master查看节点
javascript 复制代码
kubectl get nodes
出现一个master两个worker就算成功

安装 Kuboard v3 - 内建用户库

官方安装: 地址

javascript 复制代码
sudo docker run -d \
  --restart=unless-stopped \
  --name=kuboard \
  -p 80:80/tcp \
  -p 10081:10081/tcp \
  -e KUBOARD_ENDPOINT="http://内网IP:80" \
  -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
  -v /root/kuboard-data:/data \
  eipwork/kuboard:v3
  # 也可以使用镜像 swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3 ,可以更快地完成镜像下载。
  # 请不要使用 127.0.0.1 或者 localhost 作为内网 IP \
  # Kuboard 不需要和 K8S 在同一个网段,Kuboard Agent 甚至可以通过代理访问 Kuboard Server \
访问 Kuboard v3.x

在浏览器输入 http://your-host-ip:80 即可访问 Kuboard v3.x 的界面,登录方式:

用户名: admin

密 码: Kuboard123

添加已有 Kubernetes 集群到 Kuboard

进去后使用token方式跟着操作就行

注意api service要用https 端口一般是6443

参考: 【k8s】手把手教学 --- Ubuntu 一次成功安装 k8s集群

相关推荐
橘宝家的Cammy5 分钟前
使用docker安装mysql 挂起之后 再次运行无法连接问题
mysql·docker·容器
终端行者6 小时前
k8s使用containerd作为容器运行时配置Harbor私有仓库与阿里云私有仓库以及镜像加速器,k8s基于containerd如何配置harbor私有仓库
阿里云·容器·kubernetes
昵称为空C7 小时前
局域网内dns服务器dnsmasq服务搭建
docker·dns
m0_748240918 小时前
Docker部署Spring Boot + Vue项目
vue.js·spring boot·docker
疯狂小伟哥8 小时前
文件上传-Windows点空格点绕过
java·docker·容器
厦门德仔8 小时前
【Docker】如何在Linux、Windows、MacOS中安装Docker
linux·macos·docker
老友@9 小时前
Docker 部署 OnlyOffice 文档服务器
运维·服务器·后端·docker·容器·编辑器·onlyoffice
童先生9 小时前
吐血整理:在 Docker 中运行 Milvus
数据库·docker·容器·milvus
猎人everest10 小时前
Docker基础实践与应用举例
运维·docker·容器