Rancher-v2.3.5的HA部署

一、前期准备

1、主机环境

节点名称 IP地址 系统 安装组件
nginx 192.168.0.100 CentOS7.2 nginx
node1 192.168.0.101 CentOS7.2 etcd,docker,k8s
node2 192.168.0.102 CentOS7.2 etcd,docker,k8s
node3 192.168.0.103 CentOS7.2 etcd,docker,k8s

2、软件版本

rancher-2.3.5
kubernetes-1.17.2
rke-1.0.4
kubectl-1.17.2
helm-3.0.3
docker-18.09.9

这里要特别提说一下,helm这里我用的是3.x版本。关于Helm3和Helm2的区别可以参考 你不得不了解Helm 3中的5个关键新特性

3、安装方法介绍

1)RKE HA安装

2)Helm HA安装


因为RKE HA安装仅支持Rancher-v2.0.8以及早期的版本,这种方式已经弃用。
Rancher-v2.0.8以后的版本,欢迎您采用Helm chart方式部署Rancher HA。
所以这里采用Helm chart方式安装。

4、推荐的架构

  • Rancher的DNS应解析为第4层负载均衡器
  • Load Balancer应将端口TCP/80和TCP/443转发到Kubernetes集群中的所有节点IP上。
  • Ingress控制器将HTTP重定向到HTTPS,并将作为端口TCP/443上的SSL/TLS终止。
  • Ingress控制器将流量转发到Rancher pod的TCP/80端口。

架构图

二、环境初始化

主机初始化,三台node上都要执行

1、主机名等设置

  • 设置永久主机名,然后重新登录
[root@localhost ~]# hostnamectl set-hostname node1
[root@localhost ~]# hostnamectl set-hostname node2
[root@localhost ~]# hostnamectl set-hostname node3
  • 在/etc/hosts中设置主机名解析
[root@node1 ~]# cat >> /etc/hosts << EOF
192.168.0.101 node1
192.168.0.102 node2
192.168.0.103 node3
EOF

2、关闭相关服务

  • 关闭selinux
[root@node1 ~]# setenforce 0
[root@node1 ~]# vim /etc/sysconfig/selinux 
SELINUX=disabled #修改为disabled
  • 关闭防火墙
[root@node1 ~]# systemctl stop firewalld
[root@node1 ~]# systemctl disable firewalld
  • 关闭swap
[root@node1 ~]# swapoff -a

为了防止系统重启之后/etc/fstab的重新挂载,也要将/etc/fstab中的swap分区给注释了。

[root@node1 ~]# vim /etc/fstab

# swap行

3、设置内核参数

[root@node1 ~]# cat <<EOF >  /etc/sysctl.d/rancher.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
vm.max_map_count = 655360
EOF
  • 使配置生效
[root@k8s-node1 ~]# modprobe br_netfilter
[root@k8s-node1 ~]# sysctl -p /etc/sysctl.d/rancher.conf

4、安装基础软件

[root@node1 ~]# yum -y install vim screen lrzsz tree openssl openssh-clients openssl-devel openssh-server telnet iftop iotop sysstat wget ntpdate dos2unix lsof net-tools mtr gcc gcc-c++ cmake zip unzip git sudo psmisc && /usr/sbin/ntpdate ntp1.aliyun.com &> /dev/null &&  hwclock --systohc &> /dev/null

5、创建用户、免密登录

  • 创建rancher并添加到docker组
[root@node1 ~]# groupadd docker
[root@node1 ~]# useradd rancher -G docker
[root@node1 ~]# echo "123456" | passwd --stdin rancher

ssh免密登录,这一步只需在node1上执行,授权node1可以免密登录到这三台node上,后面安装k8s的时候会用到。

[root@node1 ~]# su - rancher
[rancher@node1 ~]# ssh-keygen
[rancher@node1 ~]# ssh-copy-id rancher@192.168.0.51
[rancher@node1 ~]# ssh-copy-id rancher@192.168.0.52
[rancher@node1 ~]# ssh-copy-id rancher@192.168.0.53

三、安装docker

在三台主机上都执行下面的Docker安装操作

在安装docker之前,要先确定docker的版本,那么怎么来确定呢?

  • 先来看看Rancher-v2.3.5支持的各个软件的版本:

Rancher-v2.3.5版本要求

可以看到默认安装的是v1.17.2版本的Kubernetes,
所以我们要选择支持v1.17.2版本Kubernetes的docker版本。
这里选择docker-18.09.9

1、使用国内yum源

[root@node1 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
[root@node1 ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2、卸载旧版本的docker

  • 如果主机上已经有docker存在且不是想要安装的版本,需要先进行卸载。
[root@node1 ~]# yum remove -y docker \
              docker-client \
              docker-client-latest \
              docker-common \
              docker-latest \
              docker-latest-logrotate \
              docker-logrotate \
              docker-selinux \
              docker-engine-selinux \
              docker-engine \
              container*

3、安装Docker18.09版本

[root@node1 ~]# yum -y install docker-ce-18.09.9-3.el7 docker-ce-cli-18.09.9-3.el7

4、启动docker

[root@node1 ~]# systemctl start docker
[root@node1 ~]# systemctl enable docker
[root@node1 ~]# systemctl status docker

5、优化docker配置

[root@node1 ~]# cat > /etc/docker/daemon.json << EOF
{
  "oom-score-adjust": -1000,
  "registry-mirrors": ["https://7bezldxe.mirror.aliyuncs.com/","https://kw88y6eh.mirror.aliyuncs.com"],
  "insecure-registries":["192.168.0.153"],
    "storage-driver": "overlay2",
    "storage-opts": [
    "overlay2.override_kernel_check=true"
    ]
}
EOF
OOMScoreAdjust=-1000:防止docker服务OOM

registry-mirrors:公网的加速器地址,可以设置多个,地址需要添加协议头(https或者http)

storage-driver:使用OverlayFS的overlay2存储驱动。(OverlayFS是一个新一代的联合文件系统,类似于AUFS,但速度更快,实现更简单。Docker为OverlayFS提供了两个存储驱动程序:旧版的overlay,新版的overlay2(更稳定))

6、重启docker

[root@node1 ~]# systemctl daemon-reload
[root@node1 ~]# systemctl restart docker

四、安装Nginx

# yum install nginx
  • 修改配置文件nginx.conf
user nginx;
worker_processes 4;
worker_rlimit_nofile 40000;
events {
    worker_connections 8192;
}
http {
    # Gzip Settings
    gzip on;
    gzip_disable "msie6";
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";
    gzip_vary on;
    gzip_static on;
    gzip_proxied any;
    gzip_min_length 0;
    gzip_comp_level 8;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_types text/xml application/xml application/atom+xml application/rss+xml application/xhtml+xml image/svg+xml application/font-woff text/javascript application/javascript application/x-javascript text/x-json application/json application/x-web-app-manifest+json text/css text/plain text/x-component font/opentype application/x-font-ttf application/vnd.ms-fontobjectfont/woff2 image/x-icon image/png image/jpeg;
    server {
        listen         80;
        return 301 https://$host$request_uri;
    }
}
stream {
    upstream rancher_servers {
        least_conn;
        server 192.168.0.51:443 max_fails=3 fail_timeout=5s;
        server 192.168.0.52:443 max_fails=3 fail_timeout=5s;
        server 192.168.0.53:443 max_fails=3 fail_timeout=5s;
    }
    server {
        listen     443;
        proxy_pass rancher_servers;
    }
}
  • nginx -t报错

  • 启动nginx
[root@nginx~]# systemctl restart nginx.service
[root@nginx~]# systemctl enable nginx.service

五、 Rancher集群部署

以下操作只需在node1上执行

1、安装必备工具

  • 需要以下的CLI工具:
rke - Rancher Kubernetes Engine用于构建Kubernetes集群。
kubectl - Kubernetes命令行工具。
helm - Kubernetes的包管理。
  • 安装rke
#rke下载地址:https://github.com/rancher/rke/tags,下载v1.0.4
[root@node1 ~]# chmod +x rke_linux-amd64 
[root@node1 ~]# mv rke_linux-amd64 /usr/bin/rke
  • 安装kubectl
[root@node1 ~]# wget http://storage.googleapis.com/kubernetes-release/release/v1.17.2/bin/linux/amd64/kubectl
[root@node1 ~]# chmod +x kubectl 
[root@node1 ~]# mv kubectl /usr/bin/kubectl
  • 安装helm
#helm下载地址:https://github.com/helm/helm/tags 下载v3.0.3
[root@node1 ~]# tar -zxf helm-v3.0.3-linux-amd64.tar.gz 
[root@node1 ~]# mv linux-amd64/helm /usr/bin/helm
[root@node1 ~]# rm -rf helm-v3.0.3-linux-amd64.tar.gz linux-amd64

2、安装k8s

1)切换到rancher用户

[root@node1 ~]# su - rancher

这里要注意一下,必须使用普通用户进行操作,否则后边的操作会报错。

2)创建rancher-cluster.yml文件

[rancher@node1 ~]$ cat > rancher-cluster.yml << EOF
nodes:
  - address: 192.168.0.51
    user: rancher
    role: [controlplane,worker,etcd]
  - address: 192.168.0.52
    user: rancher
    role: [controlplane,worker,etcd]
  - address: 192.168.0.53
    user: rancher
    role: [controlplane,worker,etcd]
services:
  etcd:
    snapshot: true
    creation: 6h
    retention: 24h
EOF
  • 常规RKE节点选项
Option Required Description
address yes 公共域名或IP地址
user yes 可以运行docker命令的用户,需要是普通用户
role yes 分配给节点的Kubernetes角色列表
ssh_key_path no 用于对节点进行身份验证的SSH私钥的路径(默认为~/.ssh/id_rsa)

3)创建Kubernetes集群

# 运行RKE命令创建Kubernetes集群

[rancher@node1 ~]$ rke up --config ./rancher-cluster.yml

由于需要下载docker镜像文件,所以需要一段时间才能安装好。
完成后,它应显示Finished building Kubernetes cluster successfully。
并且RKE会自动创建kube_config_rancher-cluster.yml。这个文件包含kebectl和helm访问K8S的凭据。

4)配置环境变量

### 切换到root用户

[rancher@node1 ~]$ su - root
[root@node1 ~]# vim /etc/profile
export KUBECONFIG=/home/rancher/kube_config_rancher-cluster.yml
[root@node1 ~]# source /etc/profile

5)通过kubectl测试您的连接,并查看您的所有节点是否处于Ready状态

  • 这里先配置下kubectl的命令补全功能。
[root@node1 ~]# yum install -y bash-completion
[root@node1 ~]# source /usr/share/bash-completion/bash_completion
[root@node1 ~]# echo "source <(kubectl completion bash)" >> ~/.bashrc
[root@node1 ~]# source ~/.bashrc
[rancher@node1 ~]$ su - rancher
[rancher@node1 ~]$ echo "source <(kubectl completion bash)" >> ~/.bashrc
[rancher@node1 ~]$ source ~/.bashrc
  • 查看节点的状态
[rancher@node1 ~]$ kubectl get node
NAME           STATUS   ROLES                      AGE   VERSION
192.168.0.101   Ready    controlplane,etcd,worker   3m   v1.17.2
192.168.0.102   Ready    controlplane,etcd,worker   3m   v1.17.2
192.168.0.103   Ready    controlplane,etcd,worker   3m   v1.17.2

6)检查集群的Pod运行状况

[rancher@node1 ~]$ kubectl get pods --all-namespaces
NAMESPACE       NAME                                      READY   STATUS      RESTARTS   AGE
ingress-nginx   default-http-backend-67cf578fc4-rcxnf     1/1     Running     0          11m
ingress-nginx   nginx-ingress-controller-6snj4            1/1     Running     0          11m
ingress-nginx   nginx-ingress-controller-fk67x            1/1     Running     1          11m
ingress-nginx   nginx-ingress-controller-lpbwr            1/1     Running     0          11m
kube-system     canal-2hpwj                               2/2     Running     2          15h
kube-system     canal-9cw6p                               2/2     Running     2          15h
kube-system     canal-l4ssv                               2/2     Running     2          15h
kube-system     coredns-7c5566588d-8zw6n                  1/1     Running     0          11m
kube-system     coredns-7c5566588d-btg2z                  1/1     Running     0          11m
kube-system     coredns-autoscaler-65bfc8d47d-xkssf       1/1     Running     0          11m
kube-system     metrics-server-6b55c64f86-jpz64           1/1     Running     0          11m
kube-system     rke-coredns-addon-deploy-job-5tgtc        0/1     Completed   0          11m
kube-system     rke-ingress-controller-deploy-job-6dtcd   0/1     Completed   0          11m
kube-system     rke-metrics-addon-deploy-job-pf2jv        0/1     Completed   0          11m
kube-system     rke-network-plugin-deploy-job-2r22w       0/1     Completed   0          15h

7)保存配置文件

保存kube_config_rancher-cluster.yml和rancher-cluster.yml文件的副本,后期将需要这些文件来维护和升级Rancher实例。

3、安装配置Helm

注意:Helm的3.x版本和2.x版本的安装配置是不同的。3.x版本只需要安装好Helm客户端就行,其他的啥都不用配置。如果你用的是Helm的2.x版本,那可以参考rancher中文文档中的 安装配置Helm

Helm是Kubernetes首选的包管理工具。Helm charts为Kubernetes YAML清单文档提供模板语法。使用Helm,我们可以创建可配置的部署,而不仅仅是使用静态文件。

1)安装Helm客户端

客户端在上面的安装必备工具中已经安装。由于我这里是安装的Helm-v3.x版本,所以不需要配置Helm客户端的访问权限。

2)安装Helm Server(Tiller)

由于这里是安装的Helm-v3.x版本,所以不需要安装Helm Server。

4、Helm安装Rancher

1)添加Chart仓库地址

使用helm repo add命令添加Rancher chart仓库地址,访问Rancher tag和Chart版本
替换<CHART_REPO>为您要使用的Helm仓库分支(即latest或stable)。

[rancher@node1 ~]$ helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
[rancher@node1 ~]$ helm repo update

2)使用自签名SSL证书安装安装Rancher Server

Rancher Server设计默认需要开启SSL/TLS配置来保证安全,将ssl证书以Kubernetes Secret卷的形式传递给Rancher Server或Ingress Controller。首选创建证书密文,以便Rancher和Ingress Controller可以使用。

这里使用自签名ssl证书。
  • 如果没有自签名ssl证书,可以参考自签名ssl证书 自签名ssl证书,一键生成ssl证书。
[rancher@node1 ~]$ mkdir ssl
[rancher@node1 ~]$ cd ssl/
#先把一键生成ssl证书的脚本另存为create_self-signed-cert.sh,这里因为脚本的内容太多,就不贴出来了,详见上面的超链接。
#然后再用这个脚本生成ssl证书
[rancher@node1 ssl]$ ./create_self-signed-cert.sh --ssl-domain=my.rancher.com --ssl-trusted-ip=192.168.0.41 --ssl-size=2048 --ssl-date=3650
  • 一键生成的ssl自签名证书脚本将自动生成tls.crt、tls.key、cacerts.pem三个文件
文件名称不能修改如果使用你自己生成的自签名ssl证书,则需要将服务证书和CA中间证书链合并到tls.crt文件中,将私钥复制到或者重命名为tls.key文件,将CA证书复制到作者重命名为cacerts.pem
  • 使用kubectl在命名空间 cattle-system 中创建 tls-ca 和 tls-rancher-ingress 两个secret。
# 创建命名空间
[rancher@node1 ~]$ kubectl create namespace cattle-system

#服务证书和私钥密文
[rancher@node1 ~]$ kubectl -n cattle-system create \
    secret tls tls-rancher-ingress \
    --cert=/home/rancher/ssl/tls.crt \
    --key=/home/rancher/ssl/tls.key

#ca证书密文
[rancher@node1 ~]$ kubectl -n cattle-system create secret \
    generic tls-ca \
    --from-file=/home/rancher/ssl/cacerts.pem
  • 安装Rancher Server
[rancher@node1 ~]$ helm install rancher rancher-stable/rancher \
    --namespace cattle-system \
    --set hostname=my.rancher.com \
    --set ingress.tls.source=secret \
    --set privateCA=true

注意:证书对应的域名需要与hostname选项匹配,否则ingress将无法代理访问Rancher。

  • my.rancher.com是后面访问rancher的域名,需要在/etc/hosts文件中添加关联(所有主机):
[root@node1 ~]$ echo "192.168.0.41 my.rancher.com" >> /etc/hosts
[root@node2 ~]$ echo "192.168.0.41 my.rancher.com" >> /etc/hosts
[root@node3 ~]$ echo "192.168.0.41 my.rancher.com" >> /etc/hosts
[root@nginx ~]$ echo "192.168.0.41 my.rancher.com" >> /etc/hosts

3)为Agent Pod添加主机别名

由于我们是通过添加/etc/hosts主机名的方式制定的Rancher Server域名,所以需要为Agent Pod添加主机名(/etc/hosts),让其可以正常通过Rancher Server Url与Rancher Server通信。

  • 执行以下命令为Rancher Server容器配置hosts:
[rancher@node1 ~]$ kubectl -n cattle-system patch deployments rancher --patch '{
    "spec": {
        "template": {
            "spec": {
                "hostAliases": [
                    {
                        "hostnames":
                        [
                            "my.rancher.com"
                        ],
                            "ip": "192.168.0.100"
                    }
                ]
            }
        }
    }
}
  • cattle-cluster-agent Pod和cattle-node-agent pod需要在LOCAL集群初始化之后才会部署,所以先通过Rancher Server URL访问Rancher Web UI进行初始化。
# 将刚刚的域名映射关系写入到Windows主机的hosts文件中。

192.168.0.100 my.rancher.com

输入:admin/admin。

设置好URL之后,进入到Rancher。

刚进来,会看到一个问题。

报这个问题的原因是cattle-cluster-agent Pod和cattle-node-agent pod还没有被创建成功,不急,接着往下看。

  • Rancher Web UI中依次进入 local集群/system项目,在cattle-system命名空间中查看是否有cattle-cluster-agent Podcattle-node-agent pod被创建。如果有创建则进行下面的步骤,没有创建则等待;

  • cattle-cluster-agent pod

[rancher@node1 ~]$ kubectl -n cattle-system \
patch deployments cattle-cluster-agent --patch '{
    "spec": {
        "template": {
            "spec": {
                "dnsPolicy": "ClusterFirstWithHostNet",
                "hostNetwork": true,
                "hostAliases": [
                    {
                        "hostnames":
                        [
                            "my.rancher.com"
                        ],
                            "ip": "192.168.0.100"
                    }
                ]
            }
        }
    }
}
  • cattle-node-agent pod
[rancher@node1 ~]$ kubectl -n cattle-system \
patch  daemonsets cattle-node-agent --patch '{
    "spec": {
        "template": {
            "spec": {
                "hostAliases": [
                    {
                        "hostnames":
                        [
                            "my.rancher.com"
                        ],
                            "ip": "192.168.0.41"
                    }
                ]
            }
        }
    }
}

稍等一段时间之后,再来看cattle-system命名空间中的状态,发现cattle-cluster-agent Podcattle-node-agent pod都变为了Active状态了。

  • 通过命令行来查看下pod的状态:
[rancher@node1 ~]$ kubectl get -n cattle-system pod
NAME                                    READY   STATUS    RESTARTS   AGE
cattle-cluster-agent-7dc756ff44-skjml   1/1     Running   0          5m25s
cattle-node-agent-5pcnn                 1/1     Running   0          5m1s
cattle-node-agent-6hbxt                 1/1     Running   0          5m4s
cattle-node-agent-hwk2l                 1/1     Running   0          5m5s
rancher-58b6b8cfd-9tg8m                 1/1     Running   0          12m
rancher-58b6b8cfd-r5bft                 1/1     Running   2          12m
rancher-58b6b8cfd-vz82g                 1/1     Running   1          12m

都是running状态,没问题。

然后再回头来看看Rancher中local集群的状态,就不会报连接问题了。

到这里,Rancher集群的HA部署就基本完成了。

转载地址

https://blog.csdn.net/wc1695040842/java/article/details/105253706
posted @   evescn  阅读(503)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
  1. 1 毛不易
  2. 2 青丝 等什么君(邓寓君)
  3. 3 最爱 周慧敏
  4. 4 青花 (Live) 摩登兄弟刘宇宁/周传雄
  5. 5 怨苍天变了心 葱香科学家(王悠然)
  6. 6 吹梦到西洲 恋恋故人难/黄诗扶/王敬轩(妖扬)
  7. 7 姑娘别哭泣 柯柯柯啊
  8. 8 我会好好的 王心凌
  9. 9 半生雪 七叔-叶泽浩
  10. 10 用力活着 张茜
  11. 11 山茶花读不懂白玫瑰 梨笑笑
  12. 12 赴春寰 张壹ZHANG/Mukyo木西/鹿予/弦上春秋Official
  13. 13 故事终章 程响
  14. 14 沿海独白 王唯一(九姨太)
  15. 15 若把你 越南电音 云音乐AI/网易天音
  16. 16 世间美好与你环环相扣 柏松
  17. 17 愿你如愿 陆七言
  18. 18 多情种 胡杨林
  19. 19 和你一样 李宇春
  20. 20 晚风心里吹 李克勤
  21. 21 世面 黄梓溪
  22. 22 等的太久 杨大六
  23. 23 微醺状态 张一
  24. 24 醉今朝 安小茜
  25. 25 阿衣莫 阿吉太组合
  26. 26 折风渡夜 沉默书生
  27. 27 星河万里 王大毛
  28. 28 满目星辰皆是你 留小雨
  29. 29 老人与海 海鸣威/吴琼
  30. 30 海底 一支榴莲
  31. 31 只要有你 曹芙嘉
  32. 32 兰花指 阿里郎
  33. 33 口是心非 张大帅
  34. 34 爱不得忘不舍 白小白
  35. 35 惊鸿醉 指尖笑
  36. 36 如愿 葱香科学家(王悠然)
  37. 37 晚风心里吹 阿梨粤
  38. 38 惊蛰·归云 陈拾月(只有影子)/KasaYAYA
  39. 39 风飞沙 迪克牛仔
  40. 40 把孤独当做晚餐 井胧
  41. 41 星星点灯 郑智化
  42. 42 客子光阴 七叔-叶泽浩
  43. 43 走马观花 王若熙
  44. 44 沈园外 阿YueYue/戾格/小田音乐社
  45. 45 盗将行 花粥/马雨阳
  46. 46 她的眼睛会唱歌 张宇佳
  47. 47 一笑江湖 姜姜
  48. 48 虎二
  49. 49 人间烟火 程响
  50. 50 不仅仅是喜欢 萧全/孙语赛
  51. 51 你的眼神(粤语版) Ecrolyn
  52. 52 剑魂 李炜
  53. 53 虞兮叹 闻人听書_
  54. 54 时光洪流 程响
  55. 55 桃花诺 G.E.M.邓紫棋
  56. 56 行星(PLANET) 谭联耀
  57. 57 别怕我伤心 悦开心i/张家旺
  58. 58 上古山海经 小少焱
  59. 59 你的眼神 七元
  60. 60 怨苍天变了心 米雅
  61. 61 绝不会放过 王亚东
  62. 62 可笑的孤独 黄静美
  63. 63 错位时空 艾辰
  64. 64 像个孩子 仙屁孩
  65. 65 完美世界 [主题版] 水木年华
  66. 66 我们的时光 赵雷
  67. 67 万字情诗 椒椒JMJ
  68. 68 妖王 浮生
  69. 69 天地无霜 (合唱版) 杨紫/邓伦
  70. 70 塞北殇 王若熙
  71. 71 花亦山 祖娅纳惜
  72. 72 醉今朝 是可乐鸭
  73. 73 欠我个未来 艾岩
  74. 74 缘分一道桥 容云/青峰AomineDaiky
  75. 75 不知死活 子无余/严书
  76. 76 不可说 霍建华/赵丽颖
  77. 77 孤勇者 陈奕迅
  78. 78 让酒 摩登兄弟刘宇宁
  79. 79 红尘悠悠DJ沈念版 颜一彦
  80. 80 折风渡夜 (DJ名龙版) 泽国同学
  81. 81 吹灭小山河 国风堂/司南
  82. 82 等什么君 - 辞九门回忆 张大帅
  83. 83 绝世舞姬 张曦匀/戚琦
  84. 84 阿刁(无修音版|live) 张韶涵网易云资讯台
  85. 85 往事如烟 蓝波
  86. 86 清明上河图 李玉刚
  87. 87 望穿秋水 坤坤阿
  88. 88 太多 杜宣达
  89. 89 小阿七
  90. 90 霞光-《精灵世纪》片尾曲 小时姑娘
  91. 91 放开 爱乐团王超
  92. 92 醉仙美 娜美
  93. 93 虞兮叹(完整版) 黎林添娇kiki
  94. 94 单恋一枝花 夏了个天呐(朴昱美)/七夕
  95. 95 一个人挺好 (DJ版) 69/肖涵/沈子凡
  96. 96 一笑江湖 闻人听書_
  97. 97 赤伶 李玉刚
  98. 98 达拉崩吧 (Live) 周深
  99. 99 等你归来 程响
  100. 100 责无旁贷 阿悠悠
  101. 101 你是人间四月天(钢琴弹唱版) 邵帅
  102. 102 虐心 徐良/孙羽幽
  103. 103 大天蓬 (女生版) 清水er
  104. 104 赤伶 是二智呀
  105. 105 有种关系叫知己 刘大壮
  106. 106 怎随天下 王若熙
  107. 107 有人 赵钶
  108. 108 海底 三块木头
  109. 109 有何不可 许嵩
  110. 110 大天蓬 (抖音版) 璐爷
  111. 111 我吹过你吹过的晚风(翻自 ac) 辛辛
  112. 112 只爱西经 林一
  113. 113 关山酒 等什么君(邓寓君)
  114. 114 曾经的你 年少不川
  115. 115 倔强 五月天
  116. 116 Lydia F.I.R.
  117. 117 爱你 王心凌
  118. 118 杀破狼 哥哥妹妹
  119. 119 踏山河 七叔-叶泽浩
  120. 120 错过的情人 雷婷
  121. 121 你看到的我 黄勇/任书怀
  122. 122 新欢渡旧爱 黄静美
  123. 123 慕容晓晓-黄梅戏(南柯一梦 / 明洋 remix) 南柯一梦/MINGYANG
  124. 124 浮白 花粥/王胜娚
  125. 125 叹郁孤 霄磊
  126. 126 贝加尔湖畔 (Live) 李健
  127. 127 不虞 王玖
  128. 128 麻雀 李荣浩
  129. 129 一场雨落下来要用多久 鹿先森乐队
  130. 130 野狼disco 宝石Gem
  131. 131 我们不该这样的 张赫煊
  132. 132 海底 一支榴莲
  133. 133 爱情错觉 王娅
  134. 134 你一定要幸福 何洁
  135. 135 往后余生 马良
  136. 136 放你走 正点
  137. 137 只要平凡 张杰/张碧晨
  138. 138 只要平凡-小石头和孩子们 小石头和孩子们
  139. 139 红色高跟鞋 (Live) 韩雪/刘敏涛/万茜
  140. 140 明月天涯 五音Jw
  141. 141 华年 鹿先森乐队
  142. 142 分飞 徐怀钰
  143. 143 你是我撞的南墙 刘楚阳
  144. 144 同簪 小时姑娘/HITA
  145. 145 我的将军啊-唯美独特女版 熙宝(陆迦卉)
  146. 146 我的将军啊(女版戏腔) Mukyo木西
  147. 147 口是心非 南柯nanklo/乐小桃
  148. 148 DAY BY DAY (Japanese Ver.) T-ara
  149. 149 我承认我怕黑 雅楠
  150. 150 我要找到你 冯子晨
  151. 151 你的答案 子尧
  152. 152 一剪梅 费玉清
  153. 153 纸船 薛之谦/郁可唯
  154. 154 那女孩对我说 (完整版) Uu
  155. 155 我好像在哪见过你 薛之谦
  156. 156 林中鸟 葛林
  157. 157 渡我不渡她 (正式版) 苏谭谭
  158. 158 红尘来去梦一场 大壮
  159. 159 都说 龙梅子/老猫
  160. 160 산다는 건 (Cheer Up) 洪真英
  161. 161 听说 丛铭君
  162. 162 那个女孩 张泽熙
  163. 163 最近 (正式版) 王小帅
  164. 164 不谓侠 萧忆情Alex
  165. 165 芒种 音阙诗听/赵方婧
  166. 166 恋人心 魏新雨
  167. 167 Trouble Is A Friend Lenka
  168. 168 风筝误 刘珂矣
  169. 169 米津玄師-lemon(Ayasa绚沙 Remix) Ayasa
  170. 170 可不可以 张紫豪
  171. 171 告白の夜 Ayasa
  172. 172 知否知否(翻自 胡夏) 凌之轩/rainbow苒
  173. 173 琵琶行 奇然/沈谧仁
  174. 174 一曲相思 半阳
  175. 175 起风了 吴青峰
  176. 176 胡广生 任素汐
  177. 177 左手指月 古琴版 古琴唐彬/古琴白无瑕
  178. 178 清明上河图 排骨教主
  179. 179 左手指月 萨顶顶
  180. 180 刚刚好 薛之谦
  181. 181 悟空 戴荃
  182. 182 易燃易爆炸 陈粒
  183. 183 漫步人生路 邓丽君
  184. 184 不染 萨顶顶
  185. 185 不染 毛不易
  186. 186 追梦人 凤飞飞
  187. 187 笑傲江湖 刘欢/王菲
  188. 188 沙漠骆驼 展展与罗罗
  189. 189 外滩十八号 男才女貌
  190. 190 你懂得 小沈阳/沈春阳
  191. 191 铁血丹心 罗文/甄妮
  192. 192 温柔乡 陈雅森
  193. 193 似水柔情 王备
  194. 194 我只能爱你 彭青
  195. 195 年轻的战场 张杰
  196. 196 七月七日晴 许慧欣
  197. 197 心爱 金学峰
  198. 198 Something Just Like This (feat. Romy Wave) Anthony Keyrouz/Romy Wave
  199. 199 ブルーバード いきものがかり
  200. 200 舞飞扬 含笑
  201. 201 时间煮雨 郁可唯
  202. 202 英雄一怒为红颜 小壮
  203. 203 天下有情人 周华健/齐豫
  204. 204 白狐 陈瑞
  205. 205 River Flows In You Martin Ermen
  206. 206 相思 毛阿敏
  207. 207 只要有你 那英/孙楠
  208. 208 Croatian Rhapsody Maksim Mrvica
  209. 209 来生缘 刘德华
  210. 210 莫失莫忘 麦振鸿
  211. 211 往后余生 王贰浪
  212. 212 雪见—仙凡之旅 麦振鸿
  213. 213 让泪化作相思雨 南合文斗
  214. 214 追梦人 阿木
  215. 215 真英雄 张卫健
  216. 216 天使的翅膀 安琥
  217. 217 生生世世爱 吴雨霏
  218. 218 爱我就跟我走 王鹤铮
  219. 219 特别的爱给特别的你 伍思凯
  220. 220 杜婧荧/王艺翔
  221. 221 I Am You Kim Taylor
  222. 222 起风了 买辣椒也用券
  223. 223 江湖笑 周华健
  224. 224 半壶纱 刘珂矣
  225. 225 Jar Of Love 曲婉婷
  226. 226 野百合也有春天 孟庭苇
  227. 227 后来 刘若英
  228. 228 不仅仅是喜欢 萧全/孙语赛
  229. 229 Time (Official) MKJ
  230. 230 纸短情长 (完整版) 烟把儿
  231. 231 离人愁 曲肖冰
  232. 232 难念的经 周华健
  233. 233 佛系少女 冯提莫
  234. 234 红昭愿 音阙诗听
  235. 235 BINGBIAN病变 Cubi/多多Aydos
  236. 236 说散就散 袁娅维TIA RAY
  237. 237 慢慢喜欢你 莫文蔚
  238. 238 最美的期待 周笔畅
  239. 239 牵丝戏 银临/Aki阿杰
  240. 240 夜的钢琴曲 K. Williams
走马观花 - 王若熙
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 子见

作曲 : 白晨阳

编曲 : 褚立东

制作人 : 桂吴迪

身影恣潇洒

赏尽了繁华

笔墨山河如画附月色无暇

熟读五兵法

只仗义行侠

鲜衣怒马剑下折一支梅花

用三两铜钱

肆意酒家

一番阔论惹众人难辨真假

敢横刀立马

一声 大赦天下

不求荣华 只求潇洒

我牵着马儿 观着花

四海为家 无牵挂

问深山 谁人家

借盏浊酒论天下

我牵着马儿 观着花

三尺长剑 浪天涯

踏飞沙 斩流霞

江湖情长薄孤寡

身影恣潇洒

赏尽了繁华

笔墨山河如画附月色无暇

熟读五兵法

只仗义行侠

鲜衣怒马剑下折一支梅花

用三两铜钱

肆意酒家

一番阔论惹众人难辨真假

敢横刀立马

一声 大赦天下

不求荣华 只求潇洒

我牵着马儿 观着花

四海为家 无牵挂

问深山 谁人家

借盏浊酒论天下

我牵着马儿 观着花

三尺长剑 浪天涯

踏飞沙 斩流霞

江湖情长薄孤寡

我牵着马儿 观着花

四海为家 无牵挂

问深山 谁人家

借盏浊酒论天下

我牵着马儿 观着花

三尺长剑 浪天涯

踏飞沙 斩流霞

江湖情长薄孤寡

吉他 : 褚立东

录音室 : HaiMing studio

人声录音 : 罗浩榕

混音 : 罗浩榕

母带 : 徐玮

和声 : 小手

联合推广 : 海茗音乐

点击右上角即可分享
微信分享提示