在ubuntu使用rancher启动k8s

安装rancher

配置docker的镜像源

进入这个文件/etc/docker/daemon.json如果没有创建这个文件
里面添加ali的镜像源

{
 "registry-mirrors": ["https://registry.docker-cn.com"]
}

重启docker服务

sudo service docker restart

使用docker启动rancher

docker run -d --restart=unless-stopped \
  -p 8081:80 -p 8443:443 \
  --privileged \
  rancher/rancher:latest

然后在浏览器输入https://:8443,进入rancher界面,设置密码,选择多节点或单节点,我这里选择的是单节点,直接使用的k3s没有创建新的集群
在这里插入图片描述

配置rancher

进入rancher点击集群,点击配置信息按钮,然后在放在启动rancher的主机上配置
在这里插入图片描述
在主机的主目录中创建.kube/config文件,在文件中放置刚才复制的配置信息
在这里插入图片描述

安装k8s客户端

添加k8s源

在/etc/apt/sources.list中最后一行添加
deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
然后运行
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add 
sudo apt update

安装k8s客户端

apt-get install -y kubectl
<think>好的,我需要帮用户介绍如何在Ubuntu使用RKE和Helm部署Kubernetes集群。首先,我得确保自己理解各个组件的功能和步骤顺序。RKE是Rancher的Kubernetes发行版,用于快速部署集群,而Helm是包管理工具,用来安装应用。用户可能已经有一定的基础,但需要明确的指导。 首先,我需要列出所需的准备工作,比如多台Ubuntu服务器、SSH访问、Docker安装等。这部分很重要,因为环境配置不当会导致后续步骤失败。要详细说明每台服务器的角色,如master、worker,并提醒用户注意主机名解析和防火墙设置,避免常见问题。 接下来是安装RKE。用户可能不熟悉RKE的安装过程,需要给出具体的下载和配置步骤。cluster.yml文件的配置是关键,必须解释每个部分的作用,比如节点角色、SSH密钥路径等。生成配置文件后,执行rke up命令,这里需要提醒用户检查输出是否有错误,并提供排查建议,比如查看日志文件。 然后是安装kubectl,这是管理集群的必要工具。要说明如何下载和配置kubectl,以及如何复制kubeconfig文件到正确的位置,确保用户能顺利执行kubectl命令。 验证集群状态时,用户可能需要确认节点是否就绪,可以给出具体的kubectl命令示例,并解释预期的输出结果。这部分帮助用户确认部署是否成功,避免后续步骤出现问题。 安装Helm部分需要指导用户下载二进制文件,移动到PATH目录,并初始化Helm。要提醒用户可能需要的权限问题,比如使用sudo,以及添加仓库的步骤,为后续应用部署做准备。 最后,给出一个使用Helm部署应用的例子,比如Nginx,这样用户能立即看到成果。同时,提示可能需要的后续操作,如配置Ingress、存储卷等,帮助用户进一步探索。 在思考过程中,还要注意潜在的问题,比如网络连通性、端口开放、权限问题,以及不同版本软件的兼容性。需要以清晰的结构分步骤说明,避免信息过载,同时确保命令准确无误。另外,使用中文回答,避免专业术语的直译,让内容更易懂。可能还需要添加注意事项,比如生产环境需要高可用配置,安全组设置等,帮助用户避免常见陷阱。 总结下来,回答应该分步骤进行,每个步骤详细但不过于冗长,确保用户能够跟随操作,并在遇到问题时知道如何排查。同时,提供示例和后续指引,增强实用性和完整性。</think>以下是在Ubuntu系统上使用RKE(Rancher Kubernetes Engine)和Helm部署Kubernetes集群的步骤指南: --- ### 一、准备工作 1. **服务器要求** - 至少3台Ubuntu服务器(建议18.04/20.04/22.04 LTS) - 角色分配:1个Control Plane节点 + 2个Worker节点 - 确保所有节点间SSH互通(建议配置密钥认证) - 所有节点安装Docker(推荐20.10+版本) 2. **配置基础环境** ```bash # 所有节点执行 sudo apt update sudo apt install -y docker.io sudo systemctl enable --now docker ``` 3. **关闭Swap** ```bash sudo swapoff -a sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab # 永久禁用 ``` --- ### 二、安装RKE 1. **下载RKE二进制文件** ```bash wget https://github.com/rancher/rke/releases/download/v1.4.8/rke_linux-amd64 chmod +x rke_linux-amd64 sudo mv rke_linux-amd64 /usr/local/bin/rke ``` 2. **创建集群配置文件 `cluster.yml`** ```yaml nodes: - address: 192.168.1.10 # 替换为Control Plane节点IP user: ubuntu role: [controlplane, etcd] ssh_key_path: ~/.ssh/id_rsa - address: 192.168.1.11 # Worker节点1 user: ubuntu role: [worker] ssh_key_path: ~/.ssh/id_rsa - address: 192.168.1.12 # Worker节点2 user: ubuntu role: [worker] ssh_key_path: ~/.ssh/id_rsa services: etcd: snapshot: true kube-api: service_node_port_range: 30000-32767 ``` 3. **部署Kubernetes集群** ```bash rke up --config cluster.yml # 执行后会自动生成kube_config_cluster.yml ``` --- ### 三、安装kubectl ```bash sudo apt install -y apt-transport-https ca-certificates curl curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list sudo apt update sudo apt install -y kubectl mkdir ~/.kube cp kube_config_cluster.yml ~/.kube/config ``` --- ### 四、验证集群状态 ```bash kubectl get nodes # 应显示所有节点状态为Ready kubectl get pods -A # 检查核心组件运行状态 ``` --- ### 五、安装Helm 1. **下载Helm** ```bash curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash ``` 2. **初始化Helm** ```bash helm repo add stable https://charts.helm.sh/stable helm repo update ``` --- ### 六、使用Helm部署应用示例(以Nginx为例) ```bash helm install my-nginx bitnami/nginx \ --set service.type=NodePort \ --set service.nodePorts.http=30080 # 验证部署 kubectl get svc my-nginx -w ``` --- ### 注意事项 1. **网络插件**:RKE默认使用Canal网络插件,如需更换需修改`cluster.yml` 2. **证书问题**:若遇到证书错误,检查时间同步`sudo timedatectl set-ntp true` 3. **高可用部署**:生产环境建议部署3个Control Plane节点 4. **防火墙规则**:需开放以下端口: - TCP 6443 (Kubernetes API) - TCP 2379-2380 (etcd) - TCP 10250-10256 (kubelet/metrics) 通过以上步骤即可完成基于RKE和Helm的Kubernetes集群部署。后续可通过Helm Charts快速部署MySQL、Redis等常见中间件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值