基于外部数据库Mysql实现K3s高可用

在这里插入图片描述

一、master1

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server --datastore-endpoint="mysql://XX:XX@tcp(XX:3306)/test"
kubectl get nodes
kubectl get cs
kubectl get pods -n kube-system
 
cat /var/lib/rancher/k3s/server/token

在这里插入图片描述

二、master2

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server --token=K10cc5b552d688b4df40f472e383e47cf6c285f17320f6908c33afd050abf3821b8::server:aee46125c69ae1ec038064ed36bae392  --datastore-endpoint="mysql://XX:XX@tcp(XX:3306)/test"
kubectl get nodes
kubectl get cs
kubectl get pods -n kube-system

三、验证

master1:

kubectl get nodes
kubectl get cs
kubectl get pods -n kube-system
init 0

master2:

kubectl get nodes
kubectl get cs
kubectl get pods -n kube-system

在这里插入图片描述

创建deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: NodePort
kubectl apply -f mytestdeploy.yaml
kubectl get pods
kubectl get deploy
kubectl get svc

在这里插入图片描述

登录:http://172.16.0.69:32104/

四、指定K3s版本

指定安装K3S版本

要指定 K3s 版本,使用 INSTALL_K3S_VERSION 环境变量:

export INSTALL_K3S_VERSION=v1.24.9+k3s1

curl –sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - --system-default-registry "registry.cn-hangzhou.aliyuncs.com"  --token=mytoken  --datastore-endpoint="mysql://k3s:ytxx@2023@tcp(10.1.9.73:3306)/K3S"
curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn \

K3S_KUBECONFIG_OUTPUT=/root/.kube/config INSTALL_K3S_VERSION=v1.20.15+k3s1 sh -s - server --token=mytoken --datastore-endpoint="mysql://k3s:ytxx@2023@tcp(10.88.181.29:3306)/K3S"
<think>好的,我现在需要回答用户关于k3s使用手册和文档的问题。首先,我应该确认用户的具体需求是什么。用户提到“k3s 使用手册 官方文档 配置教程”,看起来他们需要找到k3s的官方文档和相关配置指南。 首先,我应该回忆一下k3s的基本信息。k3s是Rancher Labs开发的轻量级Kubernetes发行版,专为资源有限的环境设计。官方文档应该是最权威的来源,所以需要先引导用户访问官方文档网站。根据引用[1]中的信息,用户可能已经接触过一些进阶指南,但需要更基础的官方资料。 接下来,我需要检查用户提供的引用内容是否有相关链接或提示。引用[1]提到了安装脚本、kubeconfig文件的配置,以及主节点的IP地址。这可能说明用户已经进行过安装,但需要更详细的配置教程。此外,引用[4]中的安装命令示例可能对用户有帮助,但用户现在需要的是文档,所以应该强调官方资源。 然后,用户可能需要配置教程。除了官方文档,是否有其他推荐的资源?引用[1]提到的“K3S工具进阶完全指南”可能是一个有用的学习文档,但用户可能更倾向于官方资源。不过,作为补充,可以提到这些进阶指南。 还要考虑用户可能的安装环境,比如使用systemd或openrc的系统,自动重启配置等,这些都是官方文档中会涵盖的内容。同时,引用[4]中的环境变量设置示例,用户可能需要了解这些参数的详细说明,这应该在官方文档中有解释。 另外,用户可能遇到的具体问题,比如如何加入节点、配置存储选项或设置高可用集群,这些都是官方文档中常见的主题。需要确保回答覆盖这些方面,并提供具体的章节链接。 最后,生成相关问题时要考虑用户可能的后续疑问,比如安装问题、配置参数、高可用性设置等。这些问题可以帮助用户深入理解k3s的不同方面,并引导他们进一步查阅文档解决问题。</think>### K3s 使用手册与官方文档指南 K3s 是由 Rancher Labs 开发的轻量级 Kubernetes 发行版,专为资源受限环境优化。以下是官方文档和配置教程的获取方式及核心内容: --- #### **1. 官方文档入口** - **K3s 官方文档**:访问 [K3s 官网文档](https://docs.k3s.io/),涵盖安装、配置、运维全流程,包含以下核心模块: - **安装指南**:支持单节点/多节点部署,提供脚本化安装命令(如 `curl -sfL https://get.k3s.io | sh -`)[^1]。 - **配置参数**:通过环境变量(如 `INSTALL_K3S_SKIP_DOWNLOAD`、`K3S_URL`)定制集群行为[^4]。 - **高可用性**:使用嵌入式数据库(SQLite)或外部数据库MySQL/PostgreSQL)实现多节点高可用。 - **存储与网络**:集成 Flannel/Calico CNI 插件,支持 Local Path Provisioner 等存储方案。 --- #### **2. 配置教程与进阶指南** - **基础配置**: - **Kubeconfig 文件**:安装后自动生成于 `/etc/rancher/k3s/k3s.yaml`,其他机器可通过修改 `server` 地址操作集群[^1]。 - **节点管理**:使用 `k3s-killall.sh` 清理节点,`k3s-uninstall.sh` 卸载服务。 - **进阶操作**: - **自动重启机制**:通过 systemd/openrc 将 K3s 配置为服务,确保进程崩溃后自动恢复。 - **集群扩展**:通过 `K3S_TOKEN` 和 `K3S_URL` 将新节点加入集群(示例命令见引用[4])。 --- #### **3. 补充学习资源** - **《K3S工具进阶完全指南》**:提供详细的安装脚本解析、故障排查和性能优化方法。 - **Autosar MCAL 配置教程**:虽非直接相关,但可参考其模块化配置思路(如环境变量管理)[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值