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

news/2025/2/22 20:46:15/

准备工作:

  1. 切换用户:su root
  2. 关闭防火墙: sudo ufw diasble
  3. 关闭swap:
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. 时间同步
    先查看时区是否正常,不正确则替换为上海时区
date
timedatectl set-timezone Asia/Shanghai   #设置时区
apt -y install ntp	 	#安装ntp服务
systemctl start ntp
systemctl enable ntp

docker_25">安装docker

安装docker

apt install -y docker.io
systemctl status docker
systemctl enable docker:开机自启

更换docker镜像地址:

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 127.0.0.53 改成nameserver 8.8.8.8可查看镜像地址是否修改成功:sudo docker info修改后必须重启:
sudo systemctl daemon-reload
sudo systemctl restart docker可查询镜像验证地址是否可用:docker search hello-world

安装kubeamd、kubectl、kubelet安装脚本

执行(可创建sh脚本执行):
#!/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
vim /etc/default/kubeletKUBELET_EXTRA_ARGS="--fail-swap-on=false"systemctl daemon-reload && systemctl restart kubelet
修改cgroup管理器
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同样都要执行

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配置
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
配置calico网络
wget curl https://projectcalico.docs.tigera.io/manifests/calico.yaml
kubectl apply -f calico.yaml
master查看节点
kubectl get nodes
应该只有master

两个worker执行:

把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查看节点
kubectl get nodes
出现一个master两个worker就算成功

安装 Kuboard v3 - 内建用户库

官方安装: 地址

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


http://www.ppmy.cn/news/1574250.html

相关文章

微软Win11新动态:官方“换机助手”曝光,PC数据迁移或迎全新体验

目录 微软入局数据迁移领域,第三方工具或面临挑战 无缝迁移体验:近距离传输与OTP验证 模拟图仅为概念设计,最终功能或存变数 发布时间未定,Insider用户或率先体验 总结 微软在近期发布了Windows 11 Insider Beta频道的最新版本Build 22635.4945。尽管此次更新并未引入重…

大数据组件(四)快速入门实时数据湖存储系统Apache Paimon(1)

Paimon的下载及安装,并且了解了主键表的引擎以及changelog-producer的含义参考: 大数据组件(四)快速入门实时数据湖存储系统Apache Paimon(1) 利用Paimon表做lookup join,集成mysql cdc等参考: 大数据组件(四)快速入门实时数据…

分布式电商系统中的API网关架构设计

在分布式电商系统中,API 网关扮演着至关重要的角色,它是系统对外的统一入口,负责请求路由、协议转换、安全认证、流量控制等功能。以下是关于分布式电商系统中 API 网关架构设计的详细内容: 设计目标 统一入口:为所有外…

什么是超越编程(逾编程)(元编程?)

超越编程(逾编程)(元编程?)(meta-programming) 目录 1. meta- 的词源 2. 逾编程(meta-programming) 的直实含义 2.1 定义 2.2 说明 3. 翻译成“元编程”应该是一种错误 1. meta- 的词源 这是一个源自希腊语的构词元素,其有三种含义&#xff…

在 Mac ARM 架构的 macOS 系统上启用 F1 键作为 Snipaste 的截屏快捷键

在 Mac ARM 架构的 macOS 系统上启用 F1 键作为 Snipaste 的截屏快捷键,主要涉及到两个方面:确保 F1 键作为标准功能键工作 和 在 Snipaste 中设置 F1 为快捷键。 因为 Mac 默认情况下,F1-F12 键通常用作控制屏幕亮度、音量等系统功能的快捷键…

JUC并发—9.并发安全集合三

大纲 1.并发安全的数组列表CopyOnWriteArrayList 2.并发安全的链表队列ConcurrentLinkedQueue 3.并发编程中的阻塞队列概述 4.JUC的各种阻塞队列介绍 5.LinkedBlockingQueue的具体实现原理 6.基于两个队列实现的集群同步机制 1.并发安全的数组列表CopyOnWriteArrayList …

自动化之ansible(二)

一、ansible中playbook(剧本) 官方文档: Ansible playbooks — Ansible Community Documentation 1、playbook的基本结构 一个基本的playbook由以下几个主要部分组成 hosts: 定义要执行任务的主机组或主机。 become: 是否需要使用超级用户…

verilog基础知识

一,Verilog和VHDL区别 全世界高层次数字系统设计领域中,应用Verilog和VHDL的比率是80%和20%;这两种语言都是用于数字电路系统设计的硬件描述语言, 而且都已经是 IEEE 的标准。 VHDL 是美国军方组织开发的,VHDL1987年成为标准;Verilog 是由一个公司的私有财产转化而来,…