k3s是经CNCF一致性认证的Kubernetes发行版,专为物联网及边缘计算设计。
Ubuntu 20.04 K3s+Kuboard部署
只为了自己做记录方便后边查看:
准备环境,两个Ubuntu 20.04 环境,第一台做master,另外一台做node节点。
首先在服务器的Ubuntu上下载安装K3s:
sudo apt update
sudo apt install -y curl
安装k3s:
curl -sfL https://get.k3s.io | sh -
如果上面指令显示网络拒连使用下面命令:
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
指定K3s版本(下载命令选择这三个一个即可):
curl -sfL https://get.k3s.io | K3S_VERSION=v1.19.4+k3s1 sh -
以上步骤完成之后就说明服务器K3s已经安装完成。
下面是对K3s命令运用:
检查服务是否开启:
sudo systemctl status k3s
如果未运行执行:
sudo systemctl start k3s
查看集群状态:(这会列出集群中的节点,并显示它们的状态)
kubectl get nodes
kubectl get svc
kubectl get pods
kubectl get services
kubectl get deployments
使用kubectl配置文件:
cat /etc/rancher/k3s/k3s.yaml
查看token,下面创建节点时会用到:
sudo cat /var/lib/rancher/k3s/server/node-token
接下来我们下载安装K3s-node版:
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://<master-node-ip>:6443 K3S_TOKEN=<node-token> sh -
<master-node-ip>:服务器IP地址
<node-token>:服务器token使用命令查看:sudo cat /var/lib/rancher/k3s/server/node-token
下载完成后去往服务端进行配置文件:
服务端main节点操作:# 创建.kube文件夹,并将/etc/rancher/k3s/k3s.yaml复制到~/.kube/config
mkdir ~/.kube
scp root@192.168.109.130:/etc/rancher/k3s/k3s.yaml ~/.kube/config
然后是客户端node节点操作:
客户端node节点操作:
mkdir ~/.kube
scp root@192.168.109.130:/etc/rancher/k3s/k3s.yaml ~/.kube/config
sed -i s'/127.0.0.1/192.168.109.130/' ~/.kube/config
192.168.109.130记得替换为自己的服务端IP地址
在服务端或客户端输入指令查看是否搭建成功:
kubectl get node
提示这个就算成功了.......
接下来我们使用Kuboard可视化工具去管理k3s,这边我们用到容器去启动Kuboard。
如果没有docker跳到最下面有docker安装教程.............
如果有docker直接接着步骤走
我们先配置容器:
sudo docker run -d \
--restart=unless-stopped \
--name=kuboard \
-p 8088:80/tcp \
-p 10081:10081/tcp \
-e KUBOARD_ENDPOINT="https://192.168.103.130:6443" \
-e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
-v /root/kuboard-data:/data \
swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3
KUBOARD_ENDPOINT 这边一定对应当时创建的服务端地址。
等待创建完成,使用docker ps查看容器是否存在:
这时候我们的Kuboard也部署好了,下面我们需要把他链接nginx。
输入指令修改nginx配置文件:
sudo vi /etc/nginx/nginx.conf
如果是第一次配置nginx并且你的服务端没有用过,那直接可以把下面的配置复制覆盖进去:
user www-data;
worker_processes auto;
# 指定错误日志和进程ID文件
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# 事件配置
events {
worker_connections 1024;
}
# HTTP 配置块
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types {
text/html html;
text/css css;
text/xml xml;
image/jpeg jpg;
image/png png;
application/atom+xml atom;
application/rss+xml rss;
application/javascript js;
application/x-javascript js;
application/x-shockwave-flash swf;
application/x-font-ttf ttf;
font/opentype otf;
image/svg+xml svg;
application/vnd.ms-fontobject eot;
application/x-font-woff woff;
application/x-font-woff2 woff2;
application/x-font-ttf ttf;
application/vnd.ms-fontobject eot;
font/woff woff;
font/woff2 woff2;
application/octet-stream bin;
}
# 你的 server 块应该放在这里
server {
listen 80;
server_name 192.168.109.130; # 替换为你的域名或 IP 地址
location / {
proxy_pass http://127.0.0.1:8088; # 将请求转发到 Kuboard 容器的 8088 端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
注意:server块需要配置你对应的服务IP地址。
配置完成后输入指令重新加载nginx配置文件:
sudo systemctl reload nginx
到局域网可访问到服务器ip的电脑网页输入:http://192.168.109.130:80
初始账号:admin
初始密码:Kuboard123
登入后点击添加集群:
名称和描述自己添加,ApiServer地址就是你配置K3s服务的地址,比如我这边是https://192.168.103.130:6443,6443是默认端口,token需要你复制上图代码行内指令去查看,最后输出一大段红色码就是token,这一步完成后就算我们都部署完成。
ubuntu 20.04 docker安装部署:
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
添加清华源的密钥:
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
安装docker:
sudo apt install -y docker-ce docker-ce-cli containerd.io
开启docker并设置自启:
sudo systemctl start docker
sudo systemctl enable docker
测试docker,输出hello-word即成功:
sudo docker run hello-world
查看docker版本:
docker --version
查看运行的docker:
sudo systemctl status docker