1. 首页 > Rancher教程 > 正文

Rancher教程FG002-Rancher单节点Docker快速安装与初始化实战

本文档风哥主要介绍Rancher单节点Docker快速安装与初始化实战,包括Rancher数据库单节点安装概念、Rancher数据库安装环境要求、Rancher数据库单节点架构、Rancher数据库硬件规划、Rancher数据库网络规划、Rancher数据库存储规划、Rancher数据库Docker环境安装、Rancher数据库单节点安装、Rancher数据库初始化配置、Rancher数据库Web界面访问、Rancher数据库创建第一个集群、Rancher数据库部署应用等内容,风哥教程参考Rancher官方文档安装与升级、快速入门等内容,适合运维人员在学习和测试中使用,如果要应用于生产环境则需要自行确认。

Part01-基础概念与理论知识

1.1 Rancher数据库单节点安装概念

Rancher数据库单节点安装是指使用Docker容器在单台服务器上部署Rancher管理平台,这种方式适合测试环境、开发环境和小规模生产环境。单节点安装简单快速,但存在单点故障风险,不适合对高可用性要求较高的生产环境。Rancher数据库单节点安装通过Docker容器运行Rancher Server,所有数据存储在容器的持久化卷中,支持通过Web界面进行集群管理和应用部署。更多视频教程www.fgedu.net.cn

Rancher数据库单节点安装特点:

  • 安装简单快速,适合快速体验
  • 资源占用少,适合测试环境
  • 存在单点故障风险
  • 数据备份需要手动操作
  • 不适合大规模生产环境

1.2 Rancher数据库安装环境要求

Rancher数据库安装环境要求包括:

  • 操作系统:Oracle Linux 9.3 / RHEL 9.3 / 8.x / 7.x、Ubuntu 20.04 / 22.04、CentOS 7.x / 8.x
  • Docker版本:Docker 20.10.x或以上版本
  • CPU要求:至少4核CPU
  • 内存要求:至少8GB内存
  • 磁盘要求:至少100GB SSD存储
  • 网络要求:稳定的网络连接,开放80和443端口
  • 浏览器要求:Chrome、Firefox、Edge等现代浏览器

1.3 Rancher数据库单节点架构

Rancher数据库单节点架构:

# Rancher数据库单节点架构
┌─────────────────────────────────────┐
│ 物理服务器 │
│ fgedu.net.cn (192.168.1.100) │
│ │
│ ┌───────────────────────────────┐ │
│ │ Docker Engine │ │
│ │ (20.10.x 或以上) │ │
│ └───────────────────────────────┘ │
│ ↓ │
│ ┌───────────────────────────────┐ │
│ │ Rancher Container │ │
│ │ (rancher/rancher:v2.8.5) │ │
│ │ │ │
│ │ – Rancher Server │ │
│ │ – Web UI │ │
│ │ – API Server │ │
│ │ – Cluster Agent │ │
│ └───────────────────────────────┘ │
│ ↓ │
│ ┌───────────────────────────────┐ │
│ │ 持久化存储 │ │
│ │ /Rancher/fgdata │ │
│ │ │ │
│ │ – 数据库数据 │ │
│ │ – 配置文件 │ │
│ │ – 日志文件 │ │
│ └───────────────────────────────┘ │
└─────────────────────────────────────┘
风哥提示:单节点Rancher安装适合测试和学习,生产环境建议使用高可用架构。学习交流加群风哥微信: itpux-com

Part02-生产环境规划与建议

2.1 Rancher数据库硬件规划

Rancher数据库硬件规划:

# Rancher数据库单节点硬件规划

# 测试环境
CPU:4核
内存:8GB
磁盘:100GB SSD
网络:千兆网卡

# 小型生产环境
CPU:8核
内存:16GB
磁盘:200GB SSD
网络:千兆网卡

# 中型生产环境
CPU:16核
内存:32GB
磁盘:500GB SSD
网络:万兆网卡

# 磁盘分区规划
/dev/sda1 / 100GB SSD 系统盘
/dev/sdb1 /Rancher/fgdata 200GB SSD 数据盘
/dev/sdc1 /var/log 50GB SSD 日志盘

# 磁盘IO要求
随机读IOPS:> 10000
随机写IOPS:> 5000
顺序读写:> 500MB/s

2.2 Rancher数据库网络规划

Rancher数据库网络规划:

# Rancher数据库网络规划

# IP地址规划
管理网络:192.168.1.0/24
Rancher Server:192.168.1.100
网关:192.168.1.1
DNS:8.8.8.8, 8.8.4.4

# 端口规划
80/tcp:HTTP访问(自动重定向到443)
443/tcp:HTTPS访问
6443/tcp:Kubernetes API
2376/tcp:Docker API
2379/tcp:ETCD客户端
2380/tcp:ETCD节点通信

# 防火墙规则
开放80/tcp、443/tcp端口
限制访问来源IP
配置端口转发规则

# 网络性能要求
网络延迟:< 10ms(同机房) 网络带宽:> 1Gbps
网络稳定性:99.9%以上

2.3 Rancher数据库存储规划

Rancher数据库存储规划:

# Rancher数据库存储规划

# 存储目录规划
/Rancher/app 安装目录
/Rancher/fgdata 数据目录
/docker Docker数据
/rancher Rancher数据
/etcd ETCD数据
/backups 备份数据
/var/log 日志目录

# 存储容量规划
Docker数据:100GB
Rancher数据:50GB
ETCD数据:20GB
备份数据:50GB
日志数据:20GB

# 存储性能要求
SSD存储,支持高IOPS
支持快照和备份
支持扩容
支持RAID保护

# 存储备份策略
每日增量备份
每周全量备份
异地备份
保留7天备份

生产环境建议:Rancher数据库存储规划建议使用SSD存储,配置RAID保护,定期备份数据。学习交流加群风哥QQ113257174

Part03-生产环境项目实施方案

3.1 Rancher数据库Docker环境安装

3.1.1 Rancher数据库系统环境检查

# 检查系统信息
[root@fgedu ~]# hostnamectl
Static hostname: fgedu.net.cn
Icon name: computer-vm
Chassis: vm
Machine ID: 1234567890abcdef1234567890abcdef
Boot ID: abcdef1234567890abcdef1234567890
Virtualization: kvm
Operating System: Oracle Linux Server 9.3
CPE OS Name: cpe:/o:oracle:linux:9:3
Kernel: Linux 5.14.0-284.11.1.el9_3.x86_64
Architecture: x86-64

# 检查CPU信息
[root@fgedu ~]# lscpu | grep -E “^CPU\(s\)|^Core\(s\)|^Socket\(s\)”
CPU(s): 8
On-line CPU(s) list: 0-7
Core(s) per socket: 4
Socket(s): 1

# 检查内存信息
[root@fgedu ~]# free -h
total used free shared buff/cache available
Mem: 15Gi 2.1Gi 11Gi 12Mi 2.2Gi 12Gi
Swap: 4.0Gi 0B 4.0Gi

# 检查磁盘信息
[root@fgedu ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.5G 0 7.5G 0% /dev
tmpfs 7.6G 0 7.6G 0% /dev/shm
tmpfs 3.0G 9.5M 3.0G 1% /run
/dev/sda1 200G 15G 185G 8% /
/dev/sdb1 200G 10G 190G 5% /Rancher/fgdata
tmpfs 1.5G 0 1.5G 0% /run/user/0

# 创建数据目录
[root@fgedu ~]# mkdir -p /Rancher/fgdata/{docker,rancher,etcd,backups}
[root@fgedu ~]# mkdir -p /Rancher/app
[root@fgedu ~]# chown -R root:root /Rancher
[root@fgedu ~]# chmod -R 755 /Rancher

# 检查网络信息
[root@fgedu ~]# ip addr show eth0
2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:1a:4a:16:01:4a brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::21a:4aff:fe16:14a/64 scope link
valid_lft forever preferred_lft forever

3.1.2 Rancher数据库Docker安装

# 卸载旧版本Docker
[root@fgedu ~]# yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

# 安装Docker依赖包
[root@fgedu ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加Docker仓库
[root@fgedu ~]# yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装Docker CE
[root@fgedu ~]# yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 启动Docker服务
[root@fgedu ~]# systemctl start docker
[root@fgedu ~]# systemctl enable docker

# 验证Docker安装
[root@fgedu ~]# docker –version
Docker version 24.0.7, build afdd53b

# 配置Docker daemon
[root@fgedu ~]# mkdir -p /etc/docker
[root@fgedu ~]# cat > /etc/docker/daemon.json << EOF { "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com" ], "data-root": "/Rancher/fgdata/docker", "log-driver": "json-file", "log-opts": { "max-size": "100m", "max-file": "3" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ], "exec-opts": ["native.cgroupdriver=systemd"], "live-restore": true, "max-concurrent-downloads": 10, "max-concurrent-uploads": 10, "default-ulimits": { "nofile": { "Name": "nofile", "Hard": 65536, "Soft": 65536 } } } EOF # 重启Docker服务 [root@fgedu ~]# systemctl restart docker [root@fgedu ~]# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2026-04-10 10:00:00 CST; 5s ago Docs: https://docs.docker.com Main PID: 12345 (dockerd) Tasks: 10 Memory: 45.2M CGroup: /system.slice/docker.service └─12345 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock Apr 10 10:00:00 fgedu.net.cn dockerd[12345]: time="2026-04-10T10:00:00.123456789+08:00" level=info msg="API listen on /var/run/docker.sock" Apr 10 10:00:00 fgedu.net.cn systemd[1]: Started Docker Application Container Engine. # 验证Docker配置 [root@fgedu ~]# docker info | grep -E "Storage Driver|Docker Root Dir" Storage Driver: overlay2 Docker Root Dir: /Rancher/fgdata/docker

3.2 Rancher数据库单节点安装

3.2.1 Rancher数据库拉取镜像

# 拉取Rancher镜像
[root@fgedu ~]# docker pull rancher/rancher:v2.8.5
v2.8.5: Pulling from rancher/rancher
1234567890ab: Pull complete
2345678901bc: Pull complete
3456789012cd: Pull complete
4567890123de: Pull complete
5678901234ef: Pull complete
6789012345fa: Pull complete
7890123456ab: Pull complete
8901234567bc: Pull complete
9012345678cd: Pull complete
Digest: sha256:abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890
Status: Downloaded newer image for rancher/rancher:v2.8.5
docker.io/rancher/rancher:v2.8.5

# 查看Rancher镜像
[root@fgedu ~]# docker images | grep rancher
rancher/rancher v2.8.5 abcdef123456 2 weeks ago 1.2GB

# 查看镜像详细信息
[root@fgedu ~]# docker inspect rancher/rancher:v2.8.5 | grep -A 5 “Config”
“Config”: {
“Hostname”: “”,
“Domainname”: “”,
“User”: “”,
“AttachStdin”: false,
“AttachStdout”: false,
“AttachStderr”: false,
“ExposedPorts”: {
“443/tcp”: {},
“80/tcp”: {},
“8080/tcp”: {}
},
“Tty”: false,
“OpenStdin”: false,
“StdinOnce”: false,
“Env”: [
“CATTLE_SERVER_URL=”,
“CATTLE_BOOTSTRAP_PASSWORD=”,
“CATTLE_SYSTEM_DEFAULT_REGISTRY=”,
“CATTLE_SYSTEM_CATALOG=bundled”,
“CATTLE_FEATURE_FLAG_MULTI_CLUSTER_APPS=false”
],
“Cmd”: [
“entrypoint.sh”
],
“Image”: “sha256:abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890”,
“Volumes”: {
“/var/lib/rancher”: {}
}
}

3.2.2 Rancher数据库启动容器

# 启动Rancher容器
[root@fgedu ~]# docker run -d –restart=unless-stopped \
–name rancher \
-p 80:80 -p 443:443 \
-v /Rancher/fgdata/rancher:/var/lib/rancher \
-v /Rancher/fgdata/rancher/log:/var/log/rancher \
-e CATTLE_SYSTEM_DEFAULT_REGISTRY=registry.cn-hangzhou.aliyuncs.com \
-e CATTLE_SYSTEM_CATALOG=bundled \
–privileged \
rancher/rancher:v2.8.5

1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef

# 查看Rancher容器状态
[root@fgedu ~]# docker ps -a | grep rancher
1234567890ab rancher/rancher:v2.8.5 “entrypoint.sh” 10 seconds ago Up 9 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp rancher

# 查看Rancher容器日志
[root@fgedu ~]# docker logs -f rancher
INFO: Starting Rancher
INFO: Rancher is starting
INFO: Waiting for Rancher to be ready…
INFO: Rancher is ready
INFO: Rancher is running

# 查看Rancher容器资源使用情况
[root@fgedu ~]# docker stats rancher –no-stream
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
1234567890ab rancher 5.23% 1.2GiB / 15.6GiB 7.69% 12.3MB / 8.9MB 45.6MB / 23.4MB 156

# 查看Rancher容器详细信息
[root@fgedu ~]# docker inspect rancher | grep -A 20 “Mounts”
“Mounts”: [
{
“Type”: “bind”,
“Source”: “/Rancher/fgdata/rancher”,
“Destination”: “/var/lib/rancher”,
“Mode”: “”,
“RW”: true,
“Propagation”: “rprivate”
},
{
“Type”: “bind”,
“Source”: “/Rancher/fgdata/rancher/log”,
“Destination”: “/var/log/rancher”,
“Mode”: “”,
“RW”: true,
“Propagation”: “rprivate”
}
],

3.3 Rancher数据库初始化配置

3.3.1 Rancher数据库获取初始密码

# 获取Rancher初始密码
[root@fgedu ~]# docker logs rancher 2>&1 | grep “Bootstrap Password:”
INFO: Bootstrap Password: admin-password-1234567890

# 查看Rancher容器完整日志
[root@fgedu ~]# docker logs rancher
INFO: Starting Rancher
INFO: Rancher is starting
INFO: Waiting for Rancher to be ready…
INFO: Rancher is ready
INFO: Rancher is running
INFO: Bootstrap Password: admin-password-1234567890
INFO: Rancher UI is available at https://192.168.1.100
INFO: Please change the default password after first login

# 检查Rancher服务状态
[root@fgedu ~]# curl -k https://localhost/ping
pong

# 检查Rancher API状态
[root@fgedu ~]# curl -k https://localhost/v3
{
“type”: “api”,
“links”: {
“self”: “https://localhost/v3”,
“schemas”: “https://localhost/v3/schemas”,
“users”: “https://localhost/v3/users”,
“settings”: “https://localhost/v3/settings”,
“clusters”: “https://localhost/v3/clusters”
}
}

3.3.2 Rancher数据库配置防火墙

# 配置防火墙规则
[root@fgedu ~]# firewall-cmd –permanent –add-port=80/tcp
success
[root@fgedu ~]# firewall-cmd –permanent –add-port=443/tcp
success
[root@fgedu ~]# firewall-cmd –reload
success

# 查看防火墙规则
[root@fgedu ~]# firewall-cmd –list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: cockpit dhcpv6-client ssh
ports: 80/tcp 443/tcp
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

# 或者关闭防火墙(测试环境)
[root@fgedu ~]# systemctl stop firewalld
[root@fgedu ~]# systemctl disable firewalld

# 检查SELinux状态
[root@fgedu ~]# getenforce
Enforcing

# 设置SELinux为Permissive模式
[root@fgedu ~]# setenforce 0
[root@fgedu ~]# getenforce
Permissive

# 永久关闭SELinux
[root@fgedu ~]# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config

风哥提示:生产环境建议保持防火墙和SELinux开启,配置适当的安全策略。更多学习教程公众号风哥教程itpux_com

Part04-生产案例与实战讲解

4.1 Rancher数据库Web界面访问

4.1.1 Rancher数据库首次登录

# 打开浏览器访问Rancher
# URL: https://192.168.1.100
# 使用初始密码登录:admin-password-1234567890

# 图形化登录步骤:
# 步骤1:打开浏览器,访问 https://192.168.1.100
# 步骤2:浏览器提示证书不安全,点击”继续访问”
# 步骤3:输入初始密码:admin-password-1234567890
# 步骤4:点击”登录”按钮
# 步骤5:系统提示修改密码,输入新密码:Fgedu@123456
# 步骤6:确认新密码:Fgedu@123456
# 步骤7:点击”保存”按钮
# 步骤8:进入Rancher管理界面

# 通过API修改密码
[root@fgedu ~]# curl -k -u “admin:admin-password-1234567890” \
-X PUT \
-H “Content-Type: application/json” \
-d ‘{
“currentPassword”: “admin-password-1234567890”,
“newPassword”: “Fgedu@123456”
}’ \
https://192.168.1.100/v3/users/admin?action=changepassword

{
“id”: “admin”,
“type”: “user”,
“links”: {
“self”: “https://192.168.1.100/v3/users/admin”
},
“username”: “admin”,
“description”: “System Administrator”
}

# 验证新密码
[root@fgedu ~]# curl -k -u “admin:Fgedu@123456” \
https://192.168.1.100/v3/users/admin

{
“id”: “admin”,
“type”: “user”,
“username”: “admin”,
“description”: “System Administrator”
}

4.1.2 Rancher数据库配置服务器URL

# 通过Web界面配置服务器URL
# 步骤1:登录Rancher管理界面
# 步骤2:点击右上角用户图标 – 选择”全局设置”
# 步骤3:找到”Server URL”设置项
# 步骤4:输入服务器URL:https://192.168.1.100
# 步骤5:点击”保存”按钮

# 通过API配置服务器URL
[root@fgedu ~]# curl -k -u “admin:Fgedu@123456” \
-X PUT \
-H “Content-Type: application/json” \
-d ‘{
“value”: “https://192.168.1.100”
}’ \
https://192.168.1.100/v3/settings/server-url

{
“id”: “server-url”,
“type”: “setting”,
“links”: {
“self”: “https://192.168.1.100/v3/settings/server-url”
},
“name”: “server-url”,
“value”: “https://192.168.1.100”,
“default”: “”,
“source”: “env”
}

# 验证服务器URL配置
[root@fgedu ~]# curl -k -u “admin:Fgedu@123456” \
https://192.168.1.100/v3/settings/server-url

{
“id”: “server-url”,
“type”: “setting”,
“name”: “server-url”,
“value”: “https://192.168.1.100”
}

4.2 Rancher数据库创建第一个集群

4.2.1 Rancher数据库创建自定义集群

# 通过Web界面创建集群
# 步骤1:登录Rancher管理界面
# 步骤2:点击”集群” – “创建”按钮
# 步骤3:选择”自定义”集群
# 步骤4:填写集群信息:
# 集群名称:fgedu-cluster
# 集群描述:Rancher数据库测试集群
# Kubernetes版本:v1.28.5
# 网络提供商:Canal (Flannel + Calico)
# 项目网络隔离:启用
# 步骤5:点击”下一步”按钮
# 步骤6:选择节点角色:
# etcd:true
# controlplane:true
# worker:true
# 步骤7:复制节点注册命令
# 步骤8:在目标节点执行注册命令
# 步骤9:点击”完成”按钮

# 通过API创建集群
[root@fgedu ~]# curl -k -u “admin:Fgedu@123456” \
-X POST \
-H “Content-Type: application/json” \
-d ‘{
“name”: “fgedu-cluster”,
“description”: “Rancher数据库测试集群”,
“rancherKubernetesEngineConfig”: {
“version”: “v1.28.5-rancher1-1”,
“network”: {
“plugin”: “canal”
},
“services”: {
“etcd”: {
“creation”: “12h”,
“retention”: “72h”,
“snapshot”: true
},
“kubeApi”: {
“alwaysPullImages”: false,
“podSecurityPolicy”: false
}
}
},
“enableNetworkPolicy”: true
}’ \
https://192.168.1.100/v3/cluster

{
“id”: “c-1234567890”,
“type”: “cluster”,
“links”: {
“self”: “https://192.168.1.100/v3/cluster/c-1234567890”
},
“name”: “fgedu-cluster”,
“description”: “Rancher数据库测试集群”,
“enableNetworkPolicy”: true,
“state”: “provisioning”
}

# 查看集群状态
[root@fgedu ~]# curl -k -u “admin:Fgedu@123456” \
https://192.168.1.100/v3/cluster/c-1234567890

{
“id”: “c-1234567890”,
“type”: “cluster”,
“name”: “fgedu-cluster”,
“description”: “Rancher数据库测试集群”,
“state”: “active”,
“transitioning”: “no”,
“transitioningMessage”: “”
}

4.2.2 Rancher数据库注册节点

# 在目标节点执行注册命令
[root@fgedu-node1 ~]# curl -sfL https://192.168.1.100/v3/import/1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef.sh | sh

# 查看节点状态
[root@fgedu-node1 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
fgedu-node1 Ready control-plane,etcd,worker 5m v1.28.5
fgedu-node2 Ready control-plane,etcd,worker 5m v1.28.5
fgedu-node3 Ready control-plane,etcd,worker 5m v1.28.5

# 查看Pod状态
[root@fgedu-node1 ~]# kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
cattle-system rancher-1234567890-abcde 1/1 Running 0 10m
cattle-system rancher-webhook-1234567890-abcde 1/1 Running 0 10m
ingress-nginx ingress-nginx-controller-1234567890-abcde 1/1 Running 0 10m
kube-system coredns-1234567890-abcde 1/1 Running 0 10m
kube-system etcd-1234567890-abcde 1/1 Running 0 10m
kube-system kube-apiserver-1234567890-abcde 1/1 Running 0 10m
kube-system kube-controller-manager-1234567890-abcde 1/1 Running 0 10m
kube-system kube-proxy-1234567890-abcde 1/1 Running 0 10m
kube-system kube-scheduler-1234567890-abcde 1/1 Running 0 10m

4.3 Rancher数据库部署应用

4.3.1 Rancher数据库部署Nginx应用

# 通过Web界面部署应用
# 步骤1:登录Rancher管理界面
# 步骤2:选择集群 – 点击”工作负载” – “部署”
# 步骤3:填写应用信息:
# 名称:fgedu-nginx
# 命名空间:default
# 镜像:nginx:latest
# 端口映射:80:80
# 副本数:3
# 步骤4:点击”部署”按钮

# 通过kubectl部署应用
[root@fgedu ~]# kubectl create deployment fgedu-nginx –image=nginx:latest –replicas=3
deployment.apps/fgedu-nginx created

# 查看部署状态
[root@fgedu ~]# kubectl get deployments fgedu-nginx
NAME READY UP-TO-DATE AVAILABLE AGE
fgedu-nginx 3/3 3 3 1m

# 查看Pod状态
[root@fgedu ~]# kubectl get pods -l app=fgedu-nginx
NAME READY STATUS RESTARTS AGE
fgedu-nginx-1234567890-abcde 1/1 Running 0 1m
fgedu-nginx-1234567890-fghij 1/1 Running 0 1m
fgedu-nginx-1234567890-klmno 1/1 Running 0 1m

# 创建Service
[root@fgedu ~]# kubectl expose deployment fgedu-nginx –port=80 –type=NodePort
service/fgedu-nginx exposed

# 查看Service状态
[root@fgedu ~]# kubectl get svc fgedu-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
fgedu-nginx NodePort 10.43.123.45 80:31234/TCP 1m

# 测试应用访问
[root@fgedu ~]# curl http://192.168.1.100:31234

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.

For online documentation and support please refer to
nginx.org.
Commercial support is available at
nginx.com.

Thank you for using nginx.

生产环境建议:Rancher数据库部署应用建议使用Helm Chart,便于版本管理和升级。from Rancher视频:www.itpux.com

Part05-风哥经验总结与分享

5.1 Rancher数据库安装最佳实践

Rancher数据库安装最佳实践:

  • 环境准备:安装前充分检查系统环境,确保满足要求
  • 数据备份:定期备份Rancher数据和配置文件
  • 监控告警:配置监控告警,及时发现和处理问题
  • 安全加固:修改默认密码,配置防火墙规则
  • 日志管理:集中收集和管理日志,便于问题排查
  • 版本管理:记录安装版本和配置,便于升级和维护
  • 文档记录:记录安装过程和配置,便于知识传承

5.2 Rancher数据库安装问题排查

Rancher数据库安装问题排查:

# Rancher数据库安装常见问题及解决方案

# 问题1:Rancher容器启动失败
# 现象:docker ps看不到rancher容器
# 原因:端口被占用、资源不足、配置错误
# 解决:
[root@fgedu ~]# docker logs rancher
[root@fgedu ~]# docker inspect rancher
[root@fgedu ~]# netstat -tlnp | grep -E ’80|443′
[root@fgedu ~]# free -h
[root@fgedu ~]# df -h

# 问题2:Rancher Web界面无法访问
# 现象:浏览器无法打开https://192.168.1.100
# 原因:防火墙阻止、网络不通、证书问题
# 解决:
[root@fgedu ~]# firewall-cmd –list-all
[root@fgedu ~]# ping 192.168.1.100
[root@fgedu ~]# curl -k https://192.168.1.100

# 问题3:Rancher集群无法连接
# 现象:集群状态显示为Unknown或Error
# 原因:网络不通、证书过期、配置错误
# 解决:
[root@fgedu ~]# kubectl get nodes
[root@fgedu ~]# kubectl get pods -A
[root@fgedu ~]# kubectl logs -n cattle-system rancher-1234567890-abcde

# 问题4:Rancher数据丢失
# 现象:重启后数据丢失
# 原因:没有配置持久化存储
# 解决:
[root@fgedu ~]# docker volume ls
[root@fgedu ~]# docker volume inspect rancher-data
[root@fgedu ~]# ls -la /Rancher/fgdata/rancher

5.3 Rancher数据库升级路径规划

Rancher数据库升级路径规划:

# Rancher数据库升级路径规划

# 升级前准备
1. 备份Rancher数据和配置
2. 检查当前版本和目标版本兼容性
3. 在测试环境验证升级流程
4. 准备回滚方案

# 升级步骤
1. 停止Rancher容器
2. 备份数据目录
3. 拉取新版本镜像
4. 启动新版本容器
5. 验证功能正常
6. 清理旧版本数据

# 升级后验证
1. 检查集群状态
2. 验证应用运行
3. 检查监控数据
4. 验证日志收集
5. 测试功能完整性

# 回滚方案
1. 停止新版本容器
2. 恢复数据备份
3. 启动旧版本容器
4. 验证功能恢复

# 升级注意事项
– 不要跨多个小版本升级
– 升级前充分测试
– 升级过程中监控日志
– 准备应急联系人

风哥提示:Rancher数据库单节点安装适合测试和学习,生产环境建议使用高可用架构。升级前务必备份数据,在测试环境充分验证。更多视频教程www.fgedu.net.cn

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息