k8s(5)

简介: 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

发现成功

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
Kubernetes 搜索推荐 Linux
Containerd容器镜像管理
Containerd容器镜像管理
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
Ubuntu 开发工具
Ubuntu更换阿里云软件源
Ubuntu更换阿里云软件源
141560 0
|
Kubernetes 监控 数据安全/隐私保护
晓得用rancher怎么去管理K8S集群吗
晓得用rancher怎么去管理K8S集群吗
193 0
|
安全 Java Linux
docker阿里云镜像加速
我们都知道因为某些原因我们访问外网都是比较慢的,比如我们使用maven下载依赖时是一个道理,同样的使用docker从docker.hub上下载镜像也是比较慢的。针对这种访问官网比较慢的情况有两种方案,第一种就是使用国内的仓库,第二种就是使用一个加速器。这里我们配置docker的镜像加速从来来实现提速。
13551 1
docker阿里云镜像加速
|
Kubernetes 网络协议 Linux
Cilium 系列 -4-Cilium 本地路由
Cilium 系列 -4-Cilium 本地路由
|
存储 数据采集 JSON
彻底搞懂监控系统,使用Prometheus +Grafana搭建完整的应用监控系统
监控是运维系统的基础,我们衡量一个公司/部门的运维水平,看他们的监控系统就可以了。一个完善的监控系统可以提高应用的可用性和可靠性,在提供更优质服务的前提下,降低运维的投入和工作量,为用户带来更多的商业利益和客户体验。下面就带大家彻底搞懂监控系统,使用Prometheus +Grafana搭建完整的应用监控系统。
15871 1
彻底搞懂监控系统,使用Prometheus +Grafana搭建完整的应用监控系统
|
Kubernetes 网络安全 数据安全/隐私保护
k3s部署全过程
k3s部署全过程
993 0
k3s部署全过程
|
消息中间件 Kubernetes Kafka
实时计算 Flink版操作报错合集之在Rancher K8s部署时,TaskManager无法正常连接到其他TaskManager,该如何处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
Kubernetes 应用服务中间件 开发工具
一文教会你,如何通过kubeadm,在生产环境部署K8S高可用集群(一)
一文教会你,如何通过kubeadm,在生产环境部署K8S高可用集群(一)
3211 0