搭建 Rancher 服务,配置k8s集群

1. 前提条件

前提条件:

  • 安装docker,要求版本各节点版本一致。
  • 网上还有额外的要求:关闭swap、禁用selinux等等。

2. 搭建 Rancher 服务

直接通过docker命令实现即可,很方便。

shell 复制代码
docker run -d \
  --name rancher \
  --restart unless-stopped \
  --privileged \
  -v /opt/mount/rancher/lib/kubelet:/var/lib/kubelet \
  -v /opt/mount/rancher/lib/rancher:/var/lib/rancher \
  -v /opt/mount/rancher/log:/var/log \
  -v /opt/mount/rancher/lib/cni:/var/lib/cni \
  -p 1443:443 \
  --security-opt label=disable \
  --shm-size 64m \
  rancher/rancher:v2.5.14

3. 如何使用rancher搭建多个k8s集群?

  1. 英文不友好的同志,直接切换简体中文就行(喜欢强迫自己看英文的,推荐:先中文熟悉几遍,之后再切换回英文,不然容易自闭)。

  1. 直接根据页面操作
  • 添加集群 =》 选择集群类型(一般 自定义) =》 填写集群相关信息,下一步,执行每个节点要对应的相关命令即可。
  1. 等待创建,时间很长。

💡Tips:如果有爆红的提示,可以暂时不用管,会自动消除。

4. 如何在Rancher某个k8s集群中,部署一个服务?

  1. 进入项目。

💡Tips:项目 是 Rancher独有的,并不是属于k8s相关的。

  1. 点击 部署服务。
  1. 配置服务相关信息(跟 docker 那些参数一毛一样的,什么环境变量、端口映射、容器卷、缩放策略 等等)


5. 安装了Rancher了,如何在宿主机上面安装 kubectl 命令?

Rancher部署成功后,执行kubectl命令只能在控制台执行,无法再宿主机直接执行,很不方便

就需要给宿主机安装 kubectl 命令:

  1. 在 Linux 系统中安装并设置 kubectl 根据官方操作即可(也可以去github下载release)。
  • 有一个坑,那就是版本对应,最好是跟rancher搭建集群的版本一致,去rancher平台执行kubectl version能获取到kubectl的版本。
shell 复制代码
# 1. 下载指定版本的kubectl 
curl -LO https://dl.k8s.io/release/v1.19.7/bin/linux/amd64/kubectl
# 2. 验证该可执行文件
curl -LO "https://dl.k8s.io/release/v1.19.7/bin/linux/amd64/kubectl.sha256"
# 验证通过时,输出: kubectl: OK
# 3. 安装 kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
# 4. 安装成功,测试即可
kubectl version --client
  1. 复制集群的kubeconfig文件
  • kubeconfig 文件是 Kubernetes 用来配置访问 Kubernetes 集群的信息的文件。
  1. 在安装好kubectl的机器上,配置kubeconfig,将复制的文件内容全部保存在config文件中
shell 复制代码
mkdir ~/.kube
vim ~/.kube/config

💡Tips:其实,这些步骤,在rancher中,也是有向导的。也明确告诉了,安装kubectl和将配置文件,配置到何处。

  1. 这样就安装好了,执行命令测试即可。
shell 复制代码
kubectl get pods

6. Rancher 宕机了 怎么办?

如果 Rancher 服务宕机,Kubernetes 集群环境不会受到影响。在这种情况下,需要通过 命令行 来调整整个环境。

还是对应上面先安装 kubectl 那些操作,之后通过命令形式,去管理k8s或者rancher相关信息。

相关推荐
张青贤31 分钟前
K8s中的containerPort与port、targetPort、nodePort的关系:
云原生·容器·kubernetes
云攀登者-望正茂2 小时前
AKS 支持 Kata Container容器沙盒 -预览阶段
容器·azure
撸码到无法自拔5 小时前
docker常见命令
java·spring cloud·docker·容器·eureka
小马爱打代码7 小时前
K8S - GitLab CI 自动化构建镜像入门
ci/cd·kubernetes·gitlab
hi,编程哥9 小时前
Docker、ECS 与 K8s 网段冲突:解决跨服务通信中的路由问题
docker·容器·kubernetes
How_doyou_do10 小时前
项目全栈实战-基于智能体、工作流、API模块化Docker集成的创业分析平台
运维·docker·容器
Cloud Traveler12 小时前
Kubernetes vs. OpenShift:深入比较与架构解析
架构·kubernetes·openshift
是垚不是土13 小时前
探秘高可用负载均衡集群:企业网络架构的稳固基石
运维·服务器·网络·云原生·容器·架构·负载均衡
杰克逊的日记13 小时前
大规模k8s集群怎么规划
云原生·容器·kubernetes
luck_me514 小时前
K8S已经成为了Ai应用运行的平台工具
人工智能·容器·kubernetes