k8s(5)

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: k8s(5)

Kubernetes基础(1)---使用k3s学习

https://docs.rancher.cn/docs/k3s/quick-start/_index

下载

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

v1.25.2+k3s1

https://github.com/k3s-io/k3s/releases/tag/v1.25.2%2Bk3s1

bash:需要下载对应版本的,在sources node zip里

百度网盘:
链接:https://pan.baidu.com/s/1wjuba_6AD665qNy4Gx9XDw?pwd=1111

提取码:1111

错误

sh文件报错

注意不要在windows下编辑脚本文件,否则经常会遇到这种问题。

-bash: ./install.sh: /bin/sh^M: 坏的解释器: 没有那个文件或目录

解决方法

脚本文件保存时使用了DOS格式,用DOS2UNIX转为UNIX格式,也可以用vim打开,用:set ff=unix转换。

代码:
sed -i 's/\r$//' server.sh

还 可以用 vim 打开文件,然后执行冒号命令:

代码:

:set ff=unix
:wq

启动安装脚本失败

可能时间不统一,可能是保存的快照,建议与阿里云的服务器时间同步

查看时间
date -R
yum install ntpdate
timedatectl set-timezone Asia/Shanghai 
ntpdate ntp1.aliyun.com
date -R
同步阿里云时间
1、查看当前服务器时间
# date -R
Mon, 27 Apr 2020 10:41:54 +0800
2、安装ntpdate服务
# yum install ntpdate
Loaded plugins: fastestmirror
Determining fastest mirrors
3、直接用域名同步中国上海时间 是阿里云的服务器
# timedatectl set-timezone Asia/Shanghai 
# ntpdate ntp1.aliyun.com
27 Apr 10:45:42 ntpdate[6028]: step time server 120.25.115.20 offset 190.621216 sec
4、查看新时间是否已同步
# date -R
Mon, 27 Apr 2020 10:45:51 +0800

执行安装脚本搭建集群

注意

  • 三个服务器的hosts和hostname都需要修改
  • 时间需要一致
  • 方法:同步阿里云服务器
  • 主节点和工作节点的安装命令不一样,是先安装主节点,然后获取token,用这个token去搭建工作节点
  • sh不要在windows打开
  • 方法:去下载当前版本资源包,然后把sh文件上传

先关防火墙

systemctl disable firewalld --now
yum install -y container-selinux selinux-policy-base
yum install -y https://rpm.rancher.io/k3s/latest/common/centos/7/noarch/k3s-selinux-0.2-1.el7_8.noarch.rpm

如果k3s-airgap-images-amd64.tar是.gz压缩的就复制.gz的

mv k3s /usr/local/bin
chmod +x /usr/local/bin/k3s
mkdir -p /var/lib/rancher/k3s/agent/images/
cp k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/
#修改权限
chmod +x install.sh
#离线安装主节点
INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh

出现下面这个才是成功,否则失败

主节点k8s

[root@k8s home]# kubectl get node
NAME   STATUS   ROLES                  AGE   VERSION
k8s    Ready    control-plane,master   35m   v1.25.2+k3s1
[root@k8s home]# cat /var/lib/rancher/k3s/server/node-token
K10ed7f6fde96c1141eb8b5cc13d019ca9e98a91716ed103121767d9ecbfd46eec0::server:43abb138875740157821f3fbe2f37ed3
kubectl get node
cat /var/lib/rancher/k3s/server/node-token

工作节点k8s2 k8s3安装,如果工作节点没有设置K3S_URL和K3S_TOKEN,那么就是一个主节点

INSTALL_K3S_SKIP_DOWNLOAD=true \
K3S_URL=https://192.168.80.15:6443 \
K3S_TOKEN=K10ed7f6fde96c1141eb8b5cc13d019ca9e98a91716ed103121767d9ecbfd46eec0::server:43abb138875740157821f3fbe2f37ed3 \
./install.sh
如果你执行了 INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh
那么该节点是主节点,想成为工作节点,需要卸载k3s,然后重新安装步骤
1.卸载
要从 server 节点卸载 K3s,请运行:
/usr/local/bin/k3s-uninstall.sh
要从 agent 节点卸载 K3s,请运行:
/usr/local/bin/k3s-agent-uninstall.sh
2.安装
yum install -y https://rpm.rancher.io/k3s/latest/common/centos/7/noarch/k3s-selinux-0.2-1.el7_8.noarch.rpm
mv k3s /usr/local/bin
chmod +x /usr/local/bin/k3s
mkdir -p /var/lib/rancher/k3s/agent/images/
cp k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/
#修改权限
chmod +x install.sh
3.设置为工作节点安装,记得是主节点的ip和token,是https
INSTALL_K3S_SKIP_DOWNLOAD=true \
K3S_URL=https://192.168.80.15:6443 \
K3S_TOKEN=K10ed7f6fde96c1141eb8b5cc13d019ca9e98a91716ed103121767d9ecbfd46eec0::server:43abb138875740157821f3fbe2f37ed3 \
./install.sh

工作节点成功界面,同时主节点可以发现

主节点

镜像加速

在学习k3s前需要镜像加速k3s。

由于kubernetes从V1.24版本开始默认使用containerd需要修改containerd的配置文件,才能让Pod的镜像使用镜像加速器。

配置文件路径一般为/etc/containerd/config.toml,详见阿里云镜像加速

K3s 会自动生成containerd的配置文件/var/lib/rancher/k3s/agent/etc/containerd/config.toml,不要直接修改这个文件,k3s重启后修改会丢失。

查看containerd的配置文件位置

containerd的配置文件,但是不要直接修改,k3s重启后修改会丢失

k3s配置镜像

为了简化配置,K3s 通过/etc/rancher/k3s/registries.yaml文件来配置镜像仓库,K3s会在启动时检查这个文件是否存在。

我们需要在每个节点上新建/etc/rancher/k3s/registries.yaml文件,

vim /etc/rancher/k3s/registries.yaml
工作节点没有该路径/etc/rancher/k3s,需要手动创建
mkdir /etc/rancher/k3s
vim /etc/rancher/k3s/registries.yaml

配置内容如下:这个是可以的

cat > /etc/rancher/k3s/registries.yaml <<EOF
mirrors:
  docker.io:
    endpoint:
      - "https://jgsi1qrf.mirror.aliyuncs.com"
      - "http://hub-mirror.c.163.com"
      - "https://docker.mirrors.ustc.edu.cn"
      - "https://registry.docker-cn.com"
EOF

下面两个试的不行

中科院的镜像

https://cmcc.mirrors.ustc.edu.cn/

# 在 config.toml.tmpl 文件中添加
[plugins.cri.registry.mirrors]
  [plugins.cri.registry.mirrors."docker.io"]
    endpoint = ["https://docker.mirrors.ustc.edu.cn"]

这个网站在阿里云搜索容器镜像服务

mirrors:
  docker.io:
    endpoint:
      - "https://docker.mirrors.ustc.edu.cn"

配置后,重启主节点、工作节点并查看是否生效

systemctl restart k3s
systemctl restart k3s-agent
cat /var/lib/rancher/k3s/agent/etc/containerd/config.toml

发现成功

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
3月前
|
网络协议 IDE 网络安全
GoLand远程开发IDE:使用SSH远程连接服务器进行云端编程
GoLand远程开发IDE:使用SSH远程连接服务器进行云端编程
435 0
|
存储 SQL 大数据
列式存储系列(一)C-Store
列式存储系列(一)概述 序 本文是列式存储系列的第一篇。在这个系列中,我们将介绍几个典型的列式存储系统。这些列式系统的出现都有各自的时代背景。在介绍这些系统的同时,我们也尽量介绍一下它们的背景,以便大家有一个更宏观的认识,理解这个系统为什么会出现,它要解决的问题,以及它如何影响后来类似系统的发展。
2648 0
|
边缘计算 Kubernetes 物联网
k3s 离线部署指南
k3s 离线部署指南
|
8月前
|
存储 Kubernetes 对象存储
Kubernetes存储:Ceph架构,部署和使用
Kubernetes存储:Ceph架构,部署和使用
113 0
|
10月前
|
关系型数据库 MySQL 数据库
【面试题精讲】mysql-sync_binlog
【面试题精讲】mysql-sync_binlog
|
10月前
|
存储 Cloud Native 虚拟化
【云原生】Docker部署/容器加速器(最新版)
【云原生】Docker部署/容器加速器(最新版)
494 0
|
11月前
|
Oracle Java 关系型数据库
Maven私服Nexus配置
Maven私服Nexus配置
289 0
|
Kubernetes Linux Docker
Kubernetes 安装部署(国内源)
Kubernetes 安装部署(国内源)
4837 2
|
移动开发 开发工具 KVM
kvm新增桥接网络,和nat网络,host-only网络
kvm新增桥接网络,和nat网络,host-only网络
325 0
|
前端开发 JavaScript API
一篇文章掌握Next.js的核心要点
一篇文章掌握Next.js的核心要点
1267 0
一篇文章掌握Next.js的核心要点