k3s安装

1、官网K3s

#一条命令搞定

curl -sfL https://get.k3s.io | sh - 
# Check for Ready node, takes ~30 seconds 
k3s kubectl get node  

 由于访问github慢,可以使用以下方式

1、etcd

#一条命令搞定(etcd)

[root@hecs-99591 ~]# time curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | \
>   INSTALL_K3S_MIRROR=cn \
>   sh -s - 

2、 mysql

#一条命令搞定(mysql)
curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server --datastore-endpoint="mysql://demo:demo123@tcp(mysql.demo.com:3306)/demodb" 

参数解释:
–docker:使用docker,默认是containerd。
–datastore-endpoint 指定外部数据库(格式: mysql://数据库账号:数据库密码@tcp(数据库连接地址:数据库端口)/数据库名称)

2、在K3S集群Server节点服务器查看token令牌凭证 

如上一步的机器就是Server节点,上面服务器中执行如下:

cat /var/lib/rancher/k3s/server/node-token

3、向K3S集群中添加新的节点

1.添加Server节点(如不需要添加Server节点可忽略)

这里添加Server节点跟第一个节点安装一样, 需要多加了一个 --token=token令牌凭证 , 这里是上面一步查到的token令牌凭证

curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server  --token=mytoken --datastore-endpoint="mysql://demo:demo123@tcp(mysql.demo.com:3306)/demodb" 

2.添加Agent节点(如不需要添加Agent节点可忽略)

这里添加Agent节点需要指定Server节点地址 跟 token令牌凭证

curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh  | INSTALL_K3S_MIRROR=cn K3S_URL=https://192.168.4.160:6443 K3S_TOKEN=mytoken  sh -

K3S_URL=https://192.168.4.160:6443 表示 K3S集群 server节点的地址, 可以是任意一个主节点地址,如果配置了主节点的负载均衡地址的话,这可以填那个统一的域名地址
K3S_TOKEN=mytoken 表示token令牌凭证,在每个Server节点中都有一份,查看获取(这里是上面一步查到的token令牌凭证)

4、将 kubeconfig 文件拷贝至默认的目录下

K3s 默认的配置文件路径,Helm无法识别,将 /etc/rancher/k3s/k3s.yaml 软连接到 ~/.kube/config,供 helm 使用

mkdir ~/.kube && ln -s /etc/rancher/k3s/k3s.yaml ~/.kube/config

 5、检查是否安装成功

 自此k3s安装完成

6、kubectl 命令自动补全

#安装bash-completion
yum install -y bash-completion
source /usr/share/bash-completion/bash_completion

#应用kubectl的completion到系统环境
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc

7、检查资源文件是否正常 

#执行 kubectl apply --dry-run=client -f XXXX.yaml

[root@hecs-99591 nacos]# kubectl apply --dry-run=client -f nacos-deployment.yaml
deployment.apps/nacos-deployment configured (dry run)
 

K3S单节点及高可用安装(rockylinux8.6+containerd)_k3s增加节点_w23939296的博客-CSDN博客

### 如何在 k3s 上安装配置 Ingress 控制器 #### 准备工作 确保 `k3s` 已经正确部署并运行,其二进制文件位于 `/usr/local/bin/k3s` 路径下,并具有可执行权限[^1]。 #### 使用官方推荐的 NGINX Ingress Controller 安装方法 一种常见的做法是利用 Helm 或者直接应用 Kubernetes 清单文件来部署 NGINX Ingress Controller。以下是不依赖于 Helm 的简单方式: ```bash kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.49.0/deploy/static/provider/cloud/deploy.yaml ``` 这段命令会下载最新的稳定版 NGINX Ingress Controller 配置文件并将其应用于集群中[^2]。 #### 自定义安装选项 如果希望自定义安装过程,则可以通过修改 YAML 文件来自定义参数,比如更改 Service 类型为 NodePort 或 LoadBalancer 来适应不同的云环境需求。对于本地测试或小型项目来说,默认设置通常是足够的。 #### 测试 Ingress 功能 为了验证新安装的 Ingress 是否正常工作,创建一个简单的 Nginx Deployment 和相应的 Service 后,再建立一条基本的 Ingress 规则指向该服务即可完成初步的功能检测[^3]。 ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest --- apiVersion: v1 kind: Service metadata: name: nginx-service spec: ports: - port: 80 targetPort: 80 selector: app: nginx --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: test-ingress spec: rules: - host: example.local http: paths: - pathType: Prefix path: "/" backend: service: name: nginx-service port: number: 80 ``` 上述资源清单描述了一个名为 `test-ingress` 的入口对象,它将所有发往域名 `example.local` 下根路径 (`"/"`) 的 HTTP 请求转发给前面提到的服务实例 `nginx-service` 处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值