rancher运维-从零开始学习|rke部署k8s|容器管理(代码片段)

serendipity_cat serendipity_cat     2023-03-18     802

关键词:

Rancher 运维 - 从零开始学习 | RKE部署K8S | 容器管理

一、概述

Rancher是一款开源的企业级容器管理平台

功能:

① 基础设施编排

Rancher提供一套灵活的基础设施服务,并通过容器部署

② 容器编排与调度

能够适应当前全部主流的编排调度引擎,Rancher通过自身的Cattle容器编排调度引擎编排自己的基础设施服务及其他集群的配置管理与升级

③ 应用商店

可以提供一键部署由多个容器组成的服务,用户可以管理这个部署的应用并在有更新时进行自动化的升级,除了私有应用商店外也可以使用Rancher社区提供的应用商店

④ 企业级权限管理

Rancher支持灵活的插件式的用户认证。支持Active Directory,LDAP, Github等 认证方式。 Rancher支持在环境级别的基于角色的访问控制 (RBAC),可以通过角色来配置某个用户或者用户组对开发环境或者生产环境的访问权限

二、RKE

RKE是一款非常简单,运行速度快的Kubernetes安装程序,支持各种运行平台

① REK1 和 RKE2 的区别

RKE1 依赖 Docker,通过Docker来部署和管理控制平面组件及K8S的容器运行时间

RKE2 不依赖于 Docker,它将控制平面组件作为静态pod启动,由kubelet进行管理

三、RKE1 部署 K8S

节点名IP地址部署服务
node1192.168.0.10K8S-Master
node2192.168.0.20K8S-Node1
node3192.168.0.30K8S-Node2
rancher192.168.0.40rancher-RKE

1.1 基础环境部署

① SSH用户必须是节点上docker用户组的成员

groupadd docker && usermod -aG docker <UserName>
给予普通用户sudo权限
visudo
#102行增加
fox ALL=(ALL) ALL

② 禁用交换功能(Swap)

swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab  
cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

③ 修改主机名[可选]

hostnamectl set-hostname <hostname>

④ 配置互相

cat >> /etc/hosts << EOF
192.168.0.10 node1
192.168.0.20 node2
192.168.0.30 node3
192.168.0.40 rancher
EOF

因为需要以普通用户执行,所以先进入其宿主目录
cd /home/<UserNmae>
su <UserNmae>
mkdir ./ssh

ssh-keygen
ssh-copy-id <UserName>@<HostName>
chown -R /home/<UserNmae>
chmod 700 /home/<UserNmae>/.ssh
chmod 600 /home/<UserNmae>/.ssh/authorized_keys

⑤ 启用IPVS模块

yum install ipset ipvsadm -y

cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF

chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4

⑥ 安装 DockerCE [node节点]

部署教程

⑦ 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

vim /etc/sysconfig/selinux 
SELINUX=disabled

⑧ 配置时间同步

yum install -y chrony
systemctl enable --now chronyd

timedatectl set-timezone Asia/Shanghai

1.2 部署 K8S [rancher节点]

官方项目地址:https://github.com/rancher/rke/releases

cd /home/<UserName>

此下载链接为国内加速链接,非官方链接,可能存在风险,生产环境不推荐使用
wget https://download.fastgit.org/rancher/rke/releases/download/v1.2.11/rke_linux-amd64

mv rke_linux-amd64 rke && chmod +x rke

① 生成配置文件

./rke config

②启动集群

./rke up


启动完成后会产生三个文件 [官方原文]

  • cluster.yml:RKE 集群的配置文件
  • kube_config_cluster.yml:该集群的Kubeconfig 文件包含了获取该集群所有权限的认证凭据
  • cluster.rkestate:Kubernetes 集群状态文件,包含了获取该集群所有权限的认证凭据,使用 RKE v0.2.0时才会创建这个文件

③ 安装Kubectl

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

yum install -y kubectl

mkdir ~/.kube
cp kube_config_cluster.yml ~/.kube/config
echo "export KUBECONFIG=/home/fox/.kube/config" >> /etc/profile

source /etc/profile

④ 验证

kubectl get no,cs -o wide

1.3 安装 Rancher [rancher节点]

① 部署 Helm

官方下载地址https://github.com/helm/helm/releases

此下载链接为国内加速链接,非官方链接,可能存在风险,生产环境不推荐使用
wget https://get.helm.sh/helm-v3.6.3-linux-amd64.tar.gz

tar -zxvf helm-v3.6.3-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/

helm version

② 部署 Ingress Nginx

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx

helm install ingress-nginx ingress-nginx/ingress-nginx \\
  --namespace ingress-nginx \\
  --create-namespace \\
  --set controller.image.repository=giantswarm/ingress-nginx-controller \\
  --set controller.image.tag=v0.45.0 \\
  --set controller.image.digest=null \\
  --set controller.service.type=NodePort
  
kubectl -n ingress-nginx get pods,svc

③ 部署 rancher

helm repo add rancher-latest https://releases.rancher.com/server-charts/latest

此下载链接为国内加速链接,非官方链接,可能存在风险,生产环境不推荐使用
kubectl apply --validate=false -f https://hub.fastgit.org/jetstack/cert-manager/releases/download/v0.15.0/cert-manager.crds.yaml

helm repo add jetstack https://charts.jetstack.io
helm repo update

helm install cert-manager \\
  --namespace cert-manager \\
  --create-namespace \\
  --version v0.15.0 \\
  jetstack/cert-manager

kubectl create namespace cattle-system
helm install rancher  \\
  --namespace cattle-system \\
  --set hostname=ranchercat.com \\
  --version 2.5.9 \\
  rancher-latest/rancher
  
kubectl get pods -A

rancher运维-从零开始学习|rke部署k8s|容器管理(代码片段)

Rancher运维-从零开始学习|RKE部署K8S|容器管理一、概述①基础设施编排②容器编排与调度③应用商店④企业级权限管理二、RKE①REK1和RKE2的区别三、RKE1部署K8S1.1基础环境部署①SSH用户必须是节点上docker用户组的成员②禁用交换功... 查看详情

k8s集群问题记录

...k8s集群问题记录k8s学习方案问题解决思路主要学习路径:rancher(k8s)->rke->helm->kubectl->k8s常见命令总结:怎么解决简单就怎么解决例如rancher的安装使用helm安装有问题,官网有bug就使用docker的方式安装一样简便,只是个客户... 查看详情

k8s部署rancher2.x版本(代码片段)

Rancher介绍Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求并为DevOps团队提供支持。Kubernetes不仅已经成为的容器编排标准,它也正在迅... 查看详情

k8s部署rancher2.x版本(代码片段)

Rancher介绍Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求并为DevOps团队提供支持。Kubernetes不仅已经成为的容器编排标准,它也正在迅... 查看详情

docker运维-从零开始学习(代码片段)

Docker运维-从零开始学习一、Docker概述二、什么是容器?三、Docker的特点①轻量级②标准③安全四、Docker与传统虚拟机的区别五、Docker核心概念①镜像(Image)②容器(Container)③仓库(Repository)六、Docker安装部署七、容器镜像加速器... 查看详情

k8s集群上使用helm部署2.4.6版本rancher集群

参考技术A参考文档Helm安装RancherRancher简介Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求并为DevOps团队提供支持。Kubernetes不仅已经成... 查看详情

k8s通过rancher管理k8s集群

Rancher简介中文官网:官网:https://rancher.com/ https://www.rancher.cn/Rancher文档|K8S文档|Rancher|Rancher文档Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。Rancher可以轻松地管理各种环境的Kubernetes... 查看详情

k8s通过rancher管理k8s集群

Rancher简介中文官网:官网:https://rancher.com/ https://www.rancher.cn/Rancher文档|K8S文档|Rancher|Rancher文档Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。Rancher可以轻松地管理各种环境的Kubernetes... 查看详情

k8s学习从零开始搭建kubernetes集群环境(虚拟机/kubeadm方式)(代码片段)

...Linux系统,均内置Centos7操作系统,准备好系统后我们在来从零开始安装docker、k8s三大组件-kubeadm/kubelet/kubectl程 查看详情

rke部署高可用k8s集群(代码片段)

RKE部署环境准备   RKE是经过CNCF认证的Kubernetes发行版,并且全部组件完全在Docker容器内运行   RancherServer只能在使用RKE或K3s安装的Kubernetes集群中运行节点环境准备     1.开放每个节点的端口&n... 查看详情

rke高可用部署k8s集群及rancherserver高可用(代码片段)

...#工作系统:win10onlinux#操作系统:centos7#docker版本:19.03.5#rancher版本:latest#rke版本:v1.0.4#K8Smaster节点IP:192.168.2.175,192.168.2.176,192.168.2.177#K8Sworker节点IP:192.168.2.175,192.168.2.176,192.168.2.177,192.168.2.185,192.168.2.187#K8Setcd节点IP:1... 查看详情

openstack运维-从零开始学习

OpenStack运维-从零开始学习一、OpenStack简介二、OpenStack服务三、OpenStack优势①控制性②兼容性③可扩展性④灵活性⑤行业标准⑥实践检验四、OpenStack架构解析①四大节点控制节点基础管理服务计算节点②OpenStack组件通信关系一、Op... 查看详情

rancher三节点k8s集群部署例子

rancher三节点k8s集群部署例子待办https://rorschachchan.github.io/2019/07/25/使用Rancher2-1部署k8s/ 查看详情

64k8s+rancher+karmada容器化部署

文章目录一、什么是rancher二、为什么使用rancher三、Rancher与[k8s](https://so.csdn.net/so/search?q=k8s&spm=1001.2101.3001.7020)的关系及区别1、Rancher具有的优势三、rancher安装1、细部介绍四、图形化操作1、执行2、图形化操作1、进行客户机登... 查看详情

从零开始k8s

这部文档是面对想要学习Kubernetes集群的读者。如果你对入门指南已经可以满足你对这个列表上所列的需求,我们建议你继续阅读这个,因为他是根据前人积累经验所写的新手指南。当然如果除了学习入门指南知识外还希望学习Ia... 查看详情

rancher+k8s部署手册

...建K8S集群的安装程序最受欢迎的有Kops,Kubespray,kubeadm,rancher,以及个人提供的脚本集等。Kops和Kubespary在国外用的比较多,没有处理中国的网络问题,没法使用。kubeadm是Kubernetes官方提供的k8s部署工具,不过不支持HA,且支持的d... 查看详情

rancher2.6部署k8s集群示例(代码片段)

...1f44d;收藏⭐留言💬目录1计算机准备2安装前准备3部署rancher4配置rancher5创建k8s集群6rancer2.6的更新点rancher2.6已经发布一段时间,与2.5还是有不少变动,而且目前只有英语文档。为了方便大家顺利使用,在此演示下ran... 查看详情

秒搭kubernetes之使用rancher

Rancher在接触Docker和K8s的前阶段就耳闻目睹到Rancher,但是没有进一步接触过。直到将K8s搭建完成。才进一步了学习与实践Rancher。Rancher是简便易用的容器管理。其中Rancher对Kubernetes的支持与维护特别用心,使其在生产环境中的基础... 查看详情