云原生|kubernetes|rancher-2.6.4安装部署简明手册

简介: 云原生|kubernetes|rancher-2.6.4安装部署简明手册

前言:

rancher是一个比较特殊的开源的kubernetes管理工具,特殊在它是一个名称为k3s的简单kubernetes集群,而该集群是在kubernetes集群内的。

rancher还可以在一个裸的仅具有docker环境的机器部署,然后通过该机器将其它的kubernetes集群纳入rancher管理(简称纳管),或者是通过该机器快速的在其它节点安装一个全新的由rancher纳管的kubernetes集群。

OK,本文将讲述如何在centos7服务器上,在已有的kubernetes-1.23.15集群内,通过docker安装rancher-2.6.4,并调试到可用状态。

一,

环境介绍

已有的kubernetes集群大体情况:

[root@k8s-master ~]# kubectl get no -owide
NAME         STATUS   ROLES                  AGE    VERSION    INTERNAL-IP      EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION                CONTAINER-RUNTIME
k8s-master   Ready    control-plane,master   110d   v1.23.15   192.168.123.11   <none>        CentOS Linux 7 (Core)   5.4.228-1.el7.elrepo.x86_64   docker://20.10.7
k8s-node1    Ready    <none>                 110d   v1.23.15   192.168.123.12   <none>        CentOS Linux 7 (Core)   5.4.228-1.el7.elrepo.x86_64   docker://20.10.7
k8s-node2    Ready    <none>                 110d   v1.23.15   192.168.123.13   <none>        CentOS Linux 7 (Core)   5.4.228-1.el7.elrepo.x86_64   docker://20.10.7

 

[root@k8s-master ~]# kubectl get po -A
NAMESPACE     NAME                                 READY   STATUS    RESTARTS       AGE
kube-system   coredns-6d8c4cb4d-8fqvx              1/1     Running   1 (110d ago)   110d
kube-system   coredns-6d8c4cb4d-wwmkf              1/1     Running   1 (110d ago)   110d
kube-system   etcd-k8s-master                      1/1     Running   2 (110d ago)   110d
kube-system   kube-apiserver-k8s-master            1/1     Running   2 (110d ago)   110d
kube-system   kube-controller-manager-k8s-master   1/1     Running   2 (110d ago)   110d
kube-system   kube-flannel-ds-jhnhc                1/1     Running   1 (110d ago)   110d
kube-system   kube-flannel-ds-v59k2                1/1     Running   1 (110d ago)   110d
kube-system   kube-flannel-ds-vlrtj                1/1     Running   1 (110d ago)   110d
kube-system   kube-proxy-2xlzz                     1/1     Running   2 (110d ago)   110d
kube-system   kube-proxy-pndtl                     1/1     Running   2 (110d ago)   110d
kube-system   kube-proxy-z4zdp                     1/1     Running   2 (110d ago)   110d
kube-system   kube-scheduler-k8s-master            1/1     Running   2 (110d ago)   110d

OK,现有的kubernetes集群版本是1.23.15,服务器的IP地址什么的都在上面,该集群是一个比较干净的集群,没有安装什么多的pod。

二,

使用docker安装rancher

镜像下载:

链接:https://pan.baidu.com/s/1DuP4ZGDES9EhTGGPLprZmQ?pwd=ranc
提取码:ranc

 

注:rancher的镜像都是比较大的,主要是两个镜像,一个是server 镜像,一个是客户端镜像,都是1.5G左右大小,如果是使用下面的第一个命令,最好还是先导入镜像在执行docker启动命令

[root@k8s-master ~]# ls -alh  |grep rancher
-rw-r--r--   1 root root 1.4G Apr 23 05:59 rancher-2.6.4.tar.gz
-rw-r--r--   1 root root 1.4G Apr 23 05:59 rancher-agent-2.6.4.tar.gz

docker启动命令为(在master节点,也就是192.168.123.11节点执行此命令):

docker run --privileged -d --name rancher --restart=unless-stopped -p 80:80 -p 443:443 -v /opt/rancher:/var/lib/rancher rancher/rancher:v2.6.4

该命令可以使用阿里云的镜像,如果是阿里云的镜像,命令为:

docker run --privileged -d --name rancher \
--restart=unless-stopped -p 80:80 -p 443:443 -v /opt/rancher:/var/lib/rancher \
-e  CATTLE_AGENT_IMAGE="registry.cn-hangzhou.aliyuncs.com/rancher/rancher-agent:v2.6.4" \
registry.cn-hangzhou.aliyuncs.com/rancher/rancher:v2.6.4

等待大概3分钟即可,然后就可以进入rancher的web界面了:

三,

rancher 的设置

1,获取web界面的密码

[root@k8s-master ~]# docker ps -a |grep rancher
c922a62d3c15   rancher/rancher:v2.6.4                              "entrypoint.sh"          11 minutes ago   Up 11 minutes               0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   rancher
[root@k8s-master ~]# docker logs  c922a  2>&1 | grep "Bootstrap Password:"
2023/04/22 22:09:56 [INFO] Bootstrap Password: rhs4j82d9bmqqqlqwfkprls5pmx6wmdqnwvjqgcmvkfklsdz9v5bwx

2,登陆rancher,并修改上面获取到的随机密码:

只打第二个√

3,rancher 的初始界面

可以看到,现在是有一个名为local的k3s集群,版本还挺高,是1.22.7,状态是active,但这些不是重要的,重要的是,我们需要导入已存在的kubernetes-1.23.15

4,导入已存在的现有集群

注:rancher-agent-2.6.4.tar.gz 三个节点都应该导入

这个命令输出大体如下:

[root@k8s-master ~]# curl --insecure -sfL https://192.168.123.11/v3/import/ll2gkc5v4mwlxllw8dgld7zfkp2sdclxspmg8hvrkkxksf2zwzr8xg_c-m-vrmw68ql.yaml | kubectl apply -f -
clusterrole.rbac.authorization.k8s.io/proxy-clusterrole-kubeapiserver unchanged
clusterrolebinding.rbac.authorization.k8s.io/proxy-role-binding-kubernetes-master unchanged
namespace/cattle-system unchanged
serviceaccount/cattle unchanged
clusterrolebinding.rbac.authorization.k8s.io/cattle-admin-binding unchanged
secret/cattle-credentials-c4a8a0f created
clusterrole.rbac.authorization.k8s.io/cattle-admin unchanged
Warning: spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[0].key: beta.kubernetes.io/os is deprecated since v1.14; use "kubernetes.io/os" instead
deployment.apps/cattle-cluster-agent created
service/cattle-cluster-agent unchanged

可以看到确实有三个节点:

OK,我们现在已经初步的导入了已存在的集群,但,现在很多功能还是用不了的,因为,一些插件还没有部署:

[root@k8s-master ~]# kubectl get po -A -owide
NAMESPACE             NAME                                   READY   STATUS             RESTARTS       AGE    IP               NODE         NOMINATED NODE   READINESS GATES
cattle-fleet-system   fleet-agent-6b98dfb776-nqw5j           0/1     ImagePullBackOff   0              17m    10.244.2.4       k8s-node2    <none>           <none>
cattle-system         cattle-cluster-agent-8f9c97c59-bq57h   1/1     Running            0              5m3s   10.244.2.5       k8s-node2    <none>           <none>
cattle-system         cattle-cluster-agent-8f9c97c59-hxwfq   1/1     Running            0              17m    10.244.1.4       k8s-node1    <none>           <none>
kube-system           coredns-6d8c4cb4d-8fqvx                1/1     Running            1 (110d ago)   110d   10.244.0.4       k8s-master   <none>           <none>

最终应该是四个running:

[root@k8s-master ~]# kubectl get po -A -owide
NAMESPACE             NAME                                   READY   STATUS    RESTARTS       AGE    IP               NODE         NOMINATED NODE   READINESS GATES
cattle-fleet-system   fleet-agent-55b948fdd7-lvrkx           1/1     Running   0              19m    10.244.1.7       k8s-node1    <none>           <none>
cattle-system         cattle-cluster-agent-8f9c97c59-bq57h   1/1     Running   0              26m    10.244.2.5       k8s-node2    <none>           <none>
cattle-system         cattle-cluster-agent-8f9c97c59-hxwfq   1/1     Running   0              38m    10.244.1.4       k8s-node1    <none>           <none>
cattle-system         dashboard-shell-xkpx6                  2/2     Running   0              7s     10.244.2.9       k8s-node2    <none>           <none>

关于rancher的UI界面汉化:

rancher-2.6的UI界面是选择语言的,可以方便的切换到中文:

四,

基于rancher创建全新集群

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
8月前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
ACK One注册集群已正式支持ACS(容器计算服务)算力,为企业的容器化工作负载提供更多选择和更强大的计算能力。
|
8月前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
256 10
|
7月前
|
人工智能 运维 Kubernetes
2025 超详细!Lens Kubernetes IDE 多平台下载安装与集群管理教程
Lens 是一款企业级 Kubernetes 可视化操作平台,2025版实现了三大技术革新:AI智能运维(异常检测准确率98.7%)、多云联邦管理(支持50+集群)和实时3D拓扑展示。本文介绍其安装环境、配置流程、核心功能及高阶技巧,帮助用户快速上手并解决常见问题。适用于 Windows、macOS 和 Ubuntu 系统,需满足最低配置要求并前置依赖组件如 kubectl 和 Helm。通过 Global Cluster Hub 实现多集群管理,AI辅助故障诊断提升运维效率,自定义监控看板和插件生态扩展提供更多功能。
|
10月前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
408 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
10月前
|
Kubernetes 应用服务中间件 nginx
二进制安装Kubernetes(k8s)v1.32.0
本指南提供了一个详细的步骤,用于在Linux系统上通过二进制文件安装Kubernetes(k8s)v1.32.0,支持IPv4+IPv6双栈。具体步骤包括环境准备、系统配置、组件安装和配置等。
3158 11
|
11月前
|
Kubernetes Cloud Native 微服务
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。
|
Kubernetes Shell Docker
Kubernetes安装部署演示介绍-(一)
序 这是差不多2年前我整理的一篇纯手工搭建Kubernetes的文档,里边涉及的软件版本相对偏低一些,但对一些初学者来说应该依然具有一定的借鉴意义。 环境介绍: OS:Linux redhat721 3.
1351 0
|
Kubernetes Shell 容器
Kubernetes安装部署演示介绍-(二)
四、安装k8s 1、安装 使用的是k8s 1.2.4版本。 将kubernetes.tar.gz 上传主机,并解压。 tar -xzvf kubernetes.tar.gz cd kubernetes/server/ tar -xzvf kubernetes-server-linux-amd64.
1174 0
|
5月前
|
资源调度 Kubernetes 调度
从单集群到多集群的快速无损转型:ACK One 多集群应用分发
ACK One 的多集群应用分发,可以最小成本地结合您已有的单集群 CD 系统,无需对原先应用资源 YAML 进行修改,即可快速构建成多集群的 CD 系统,并同时获得强大的多集群资源调度和分发的能力。
213 9
|
5月前
|
资源调度 Kubernetes 调度
从单集群到多集群的快速无损转型:ACK One 多集群应用分发
本文介绍如何利用阿里云的分布式云容器平台ACK One的多集群应用分发功能,结合云效CD能力,快速将单集群CD系统升级为多集群CD系统。通过增加分发策略(PropagationPolicy)和差异化策略(OverridePolicy),并修改单集群kubeconfig为舰队kubeconfig,可实现无损改造。该方案具备多地域多集群智能资源调度、重调度及故障迁移等能力,帮助用户提升业务效率与可靠性。

热门文章

最新文章

推荐镜像

更多