三、安装k8s

k3s官网:https://k3s.io

文档:

github:https://github.com/k3s-io/k3s

3.1 安装基础环境

# 安装基础环境
1.安装yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo 2.修改hostname
hostnamectl set-hostname master && bash 3.关闭防火墙、关闭selinux,关闭iptables
systemctl stop firewalld ; systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config service iptables stop && systemctl disable iptables
iptables -F 4.关闭swap
swapoff -a 临时关闭
注销/etc/fstab中swap 5.修改机器内核参数
modprobe br_netfilter
echo "modprobe br_netfilter" >> /etc/profile cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF 6.配置hosts
cat /etc/hosts
192.168.10.50 master
192.168.10.51 node1 7.时间同步设置定时同步任务
yum install ntpdate -y
ntpdate time1.aliyun.com
* */1 * * * /usr/sbin/ntpdate time1.aliyun.com
systemctl restart crond 8.开启ipvs支持
#!/bin/bash
ipvs_modules="ip_vs ip_vs_lc ip_vs_wlc ip_vs_rr ip_vs_wrr ip_vs_lblc ip_vs_lblcr ip_vs_dh ip_vs_sh ip_vs_nq ip_vs_sed ip_vs_ftp nf_conntrack"
for kernel_module in ${ipvs_modules}; do
/sbin/modinfo -F filename ${kernel_module} > /dev/null 2>&1
if [ 0 -eq 0 ]; then
/sbin/modprobe ${kernel_module}
fi
done chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep ip_vs

9.安装containerd
yum install -y containerd
systemctl start containerd && systemctl status containerd && systemctl enable containerd
名称 IP 配置 用途
master 192.168.10.50 2核2G K3s Server
node1 192.168.10.51 2核2G K3s agent

本来是2核1G,结果卡死了,只能将内存升级到2G

3.1 安装k3s server节点

国内用户安装执行以下命令:

# 安装最新的
curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
k3s启动成功
[INFO] Creating /usr/local/bin/kubectl symlink to k3s
[INFO] Creating /usr/local/bin/crictl symlink to k3s
[INFO] Skipping /usr/local/bin/ctr symlink to k3s, command exists in PATH at /usr/bin/ctr
[INFO] Creating killall script /usr/local/bin/k3s-killall.sh
[INFO] Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO] env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO] systemd: Creating service file /etc/systemd/system/k3s.service
[INFO] systemd: Enabling k3s unit
Created symlink from /etc/systemd/system/multi-user.target.wants/k3s.service to /etc/systemd/system/k3s.service.
[INFO] systemd: Starting k3s
INSTALL_K3S_VERSION=v1.20.7+k3s1 && INSTALL_K3S_MIRROR=cn && sh k3s-install.sh
指定版本安装,没试过可能有问题
https://docs.rancher.cn/docs/k3s/installation/install-options/_index/#使用脚本安装的选项
# 验证安装是否成功
[root@master ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready control-plane,master 18m v1.24.4+k3s1 [root@master ~]# kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
local-path-provisioner-7b7dc8d6f5-k6wng 1/1 Running 0 18m
coredns-b96499967-t6q94 1/1 Running 1 (13m ago) 18m
helm-install-traefik-crd-98l64 0/1 Completed 1 18m
helm-install-traefik-h25tq 0/1 Completed 2 18m
metrics-server-668d979685-965rv 1/1 Running 2 (105s ago) 18m
svclb-traefik-b4e8c1f8-xjvtz 2/2 Running 0 98s
traefik-7cd4fcff68-nvchn 1/1 Running 0 98s [root@master ~]# kubectl top nodes
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
master 192m 9% 893Mi 91% [root@master ~]# systemctl status k3s
● k3s.service - Lightweight Kubernetes
Loaded: loaded (/etc/systemd/system/k3s.service; enabled; vendor preset: disabled)
Active: active (running) since 一 2022-09-05 19:00:02 CST; 19min ago

部署完成之后,上面所有的进程都由 k3s 这个 service 来创建管理。可以使用 systemctl status k3s 查看。

3.2 k3s集群添加work工作节点

# 1.提取 join token
[root@master ~]# cat /var/lib/rancher/k3s/server/node-token
K10a705b6f8de0f13587a6277a19ee3068749d5dc0cfb509e650046473f7af0c5f8::server:bd48ecd96b13ca6c4b7cd969545e1264 # 2.work节点执行
[root@node1 ~]# curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://192.168.10.51:6443 K3S_TOKEN=K10a705b6f8de0f13587a6277a19ee3068749d5dc0cfb509e650046473f7af0c5f8::server:bd48ecd96b13ca6c4b7cd969545e1264 sh -
# 安装完成:
[INFO] Creating /usr/local/bin/kubectl symlink to k3s
[INFO] Creating /usr/local/bin/crictl symlink to k3s
[INFO] Skipping /usr/local/bin/ctr symlink to k3s, command exists in PATH at /usr/bin/ctr
[INFO] Creating killall script /usr/local/bin/k3s-killall.sh
[INFO] Creating uninstall script /usr/local/bin/k3s-agent-uninstall.sh
[INFO] env: Creating environment file /etc/systemd/system/k3s-agent.service.env
[INFO] systemd: Creating service file /etc/systemd/system/k3s-agent.service
[INFO] systemd: Enabling k3s-agent unit
Created symlink from /etc/systemd/system/multi-user.target.wants/k3s-agent.service to /etc/systemd/system/k3s-agent.service.
[INFO] systemd: Starting k3s-agent
[root@master ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready control-plane,master 72m v1.24.4+k3s1
node1 Ready <none> 64s v1.24.4+k3s1 [root@master ~]# kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
local-path-provisioner-7b7dc8d6f5-k6wng 1/1 Running 0 72m
coredns-b96499967-t6q94 1/1 Running 1 (67m ago) 72m
helm-install-traefik-crd-98l64 0/1 Completed 1 72m
helm-install-traefik-h25tq 0/1 Completed 2 72m
metrics-server-668d979685-965rv 1/1 Running 2 (56m ago) 72m
svclb-traefik-b4e8c1f8-xjvtz 2/2 Running 0 55m
traefik-7cd4fcff68-nvchn 1/1 Running 0 55m
svclb-traefik-b4e8c1f8-gmft9 2/2 Running 0 72s

3.3 k3s卸载

[root@master ~]# ll /usr/local/bin/
总用量 64816
lrwxrwxrwx 1 root root 3 9月 5 18:59 crictl -> k3s
-rwxr-xr-x 1 root root 66363392 9月 5 18:59 k3s
-rwxr-xr-x 1 root root 2024 9月 5 18:59 k3s-killall.sh
-rwxr-xr-x 1 root root 1397 9月 5 18:59 k3s-uninstall.sh
lrwxrwxrwx 1 root root 3 9月 5 18:59 kubectl -> k3s # 卸载命令
[root@master ~]# /usr/local/bin/k3s-uninstall.sh

四、k3s安装redis

# 导入镜像
ctr images import redis-master.tar.gz
ctr images import redis-slave.tar.gz #
[root@master redis]# cat redis-master-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: redis-master
labels:
app: redis
spec:
selector:
matchLabels:
app: redis
role: master
tier: backend
replicas: 1
template:
metadata:
labels:
app: redis
role: master
tier: backend
spec:
containers:
- name: master
image: docker.io/kubeguide/redis-master:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 6379 [root@master redis]# cat redis-master-service.yaml
apiVersion: v1
kind: Service
metadata:
name: redis-master
labels:
app: redis
role: master
tier: backend
spec:
ports:
- port: 6379
targetPort: 6379
selector:
app: redis
role: master
tier: backend [root@master redis]# kubectl apply -f redis-master-deployment.yaml
deployment.apps/redis-master configured
[root@master redis]# kubectl apply -f redis-master-service.yaml # slave
[root@master redis]# cat redis-slave-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: redis-slave
labels:
app: redis
spec:
selector:
matchLabels:
app: redis
role: slave
tier: backend
replicas: 1
template:
metadata:
labels:
app: redis
role: slave
tier: backend
spec:
containers:
- name: slave
image: docker.io/kubeguide/guestbook-redis-slave:latest
imagePullPolicy: IfNotPresent
env:
- name: GET_HOSTS_FROM
value: dns
ports:
- containerPort: 6379 [root@master redis]# cat redis-slave-service.yaml
apiVersion: v1
kind: Service
metadata:
name: redis-slave
labels:
app: redis
role: slave
tier: backend
spec:
ports:
- port: 6379
selector:
app: redis
role: slave
tier: backen [root@master redis]# kubectl get pods
NAME READY STATUS RESTARTS AGE
redis-master-7689cf48c9-wms77 1/1 Running 0 4m42s
redis-slave-76c777b89b-42n2v 1/1 Running 0 3m49s

k3s安装---适配边缘计算场景的轻量级的k8s(二)的更多相关文章

  1. 在边缘计算场景中使用Dapr

    Dapr 是分布式应用程序可移植.事件驱动的运行时, 这里有几个关键字,我们拆开来看一下: 分布式: 代表共享或是分散,在云原生应用上体现为微服务,在边缘计算场景中代表分散的模块,可以做积木式拼接. ...

  2. SuperEdge: 使用WebAssembly扩展边缘计算场景

    作者 SuperEdge 开发者团队 概要 SuperEdge 是 一个开源的分布式边缘计算容器管理系统,用于管理多个云边区域中的计算资源和容器应用. 在当前架构中,这些资源和应用能够作为一个 Kub ...

  3. 阿里云如何基于标准 K8s 打造边缘计算云原生基础设施

    作者 | 黄玉奇(徙远)  阿里巴巴高级技术专家 关注"阿里巴巴云原生"公众号,回复关键词 1219 即可下载本文 PPT 及实操演示视频. 导读:伴随 5G.IoT 的发展,边缘 ...

  4. 边缘计算 KubeEdge+EdgeMash

    简介 KubeEdge是面向边缘计算场景.专为边云协同设计的业界首个云原生边缘计算框架,在 Kubernetes 原生的容器编排调度能力之上实现了边云之间的应用协同.资源协同.数据协同和设备协同等能力 ...

  5. JuiceFS 在火山引擎边缘计算的应用实践

    火山引擎边缘云是以云计算基础技术和边缘异构算力结合网络为基础,构建在边缘大规模基础设施之上的云计算服务,形成以边缘位置的计算.网络.存储.安全.智能为核心能力的新一代分布式云计算解决方案. 01- 边 ...

  6. 关于k8s这项大动作,预示着边缘计算迎来“开源”发展的新周期……

    在文章<最近在边缘计算领域,发生了一件足以载入物联网史册的大事…>我曾经提到Kubernetes(简称K8s)将从超大规模云计算环境,被带入到物联网边缘计算场景中. 事情有了新进展,从本周 ...

  7. 边缘计算k8s集群之SuperEdge

    什么是边缘计算? 边缘计算,是指在靠近物或数据源头的一侧,采用网络.计算.存储.应用核心能力为一体的开放平台,就近提供最近端服务.其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务.应 ...

  8. 北美KubeCon新风,正把K8S魔力带向边缘计算

    作者:DJ 审校:Kevin·Wang 1. 容器生态圈新的创新方向 2018年容器技术圈的年终盛典北美KubeCon终于在西雅图落下了帷幕.这次北美KubeCon总共吸引了8000多观众参会,创下历 ...

  9. 技术分享预告丨k3s在边缘计算中的应用实践

    技术分享是在[Rancher官方微信技术交流群]里以图文直播+QA实时互动的方式,邀请国内已落地经验的公司或团队负责人分享生产落地的最佳实践.记得添加微信小助手(微信号:rancher2)入群,实时参 ...

  10. Rancher与ARM深化战略合作,“软硬结合”加速边缘计算时代

    时至今日,许多企业已将边缘计算列为战略目标,对于部分企业而言,边缘计算则已成为它们势在必行的部分.而随着对应用软件和硬件能力的需求不断增长,容器和Kubernetes已发展为边缘计算领域备受瞩目的一项 ...

随机推荐

  1. CentOS 7.6 防火墙打开、关闭,端口开启、关闭

    查看CentOS版本 cat /etc/redhat-release 显示系统名.节点名称.操作系统的发行版号.操作系统版本.运行系统的机器 ID 号. uname -a 防火墙命令 #查询防火墙状态 ...

  2. WARN o.a.t.util.scan.StandardJarScanner - Failed to scan [file:/D:/Mavencangku/com/sun/xml/bind/jaxb-core/2.3.0/jaxb-api.jar] from classloader hierarchy

    1.SpringBoot项目启动突然报错 2024-03-27 14:57:41 [restartedMain] WARN o.a.t.util.scan.StandardJarScanner - F ...

  3. KingbaseES 的oracle兼容性参数

    KingbaseES用户可通过设置相关的数据库兼容参数,部分或全部启用Oracle兼容特性. 常用的兼容性参数有以下这些: 参数名称 参数说明 ora_forbid_func_polymorphism ...

  4. 【Java面试题】Mybatis

    五.MyBatis 40)谈谈 MyBatis Mybatis 是一个半自动化的 ORM 框架,它对 jdbc 的操作数据库的过程进行封装,使得开发者只需要专注于 SQL 语句本身,而不用去关心注册驱 ...

  5. cloudflare认识2(picgo结合使用)

    参考:https://zhuanlan.zhihu.com/p/658058503 https://blog.csdn.net/CCCChris001122/article/details/13585 ...

  6. #构造,黑白染色#AT4378 [AGC027D] Modulo Matrix

    题目 构造一个 \(n*n(n\leq 500)\) 的矩阵,满足元素均为正整数,不超过 \(10^15\) 且互不相同, 并且相邻两数若较大的为 \(x\),较小的为 \(y\),那么任意相邻两数 ...

  7. 轻松上手Jackjson(珍藏版)

    写在前面 虽然现在市面上有很多优秀的json解析库,但 Spring默认采用Jackson解析Json. 本文将通过一系列通俗易懂的代码示例,带你逐步掌握 Jackson 的基础用法.进阶技巧以及在实 ...

  8. 设置 BCompare 打开文件时的默认字符编码

    每次比对 .h .cpp 文件,BCompare总是默认以西欧字符编码打开文件,导致中文都变成乱码了,还需要手动的修改文件字符编码,这样才能正常的显示.非常的不方便 然后我们就需要设置默认的字符编码, ...

  9. 攻防世界Reverse三星题 zorropub

    题目 分析过程 丢到PE里面,无壳,64bit 丢到IDA里面,查看mian函数 1 int __fastcall main(int a1, char **a2, char **a3) 2 { 3 s ...

  10. MySQL的下载、安装和配置

    ​ 一.MySQL的下载 下载地址:http://dev.mysql.com/downloads/mysql 进入下载页面,选择所需版本,这里示范MySQL8.0 图一 选择版本,下载MSI(软件安装 ...