k3s-安装
k3s介绍
K3S是一个轻量级的K8S集群,它是Rancher Lab开发的一个新的产品, 目的是在资源有限的设备上面跑K8S。它的最大特点就是小,二进制包只有40MB,只需要512MB的内存就能跑起来。K3S目的是在一些资源受限的设备上面把Kubernetes跑起来,主要的应用场景包括Edge,IoT,CI和ARM等等,至于为什么叫K3S呢,官方就一句话: k3s - 5 less than k8s
官方访问地址:https://k3s.io/
安装方式
k3s的相关衍生安装工具很多在,比如k3d(类似kind), k3s-ansible, k3sup和官方k3s-install.sh等,每个工具都有其特殊用途
k3d
k3d 是一个dind模式安装k3s,创建快速,演示:
k3d create --image registry.cn-hangzhou.aliyuncs.com/k8ops/k3s:v1.17.3-k3s1 --publish 80:80 --server-arg --no-deploy --server-arg traefik --name istio-test
k3d stop --name istio-test
k3d start --name istio-test
export KUBECONFIG=$(k3d get-kubeconfig --name istio-test)
alias k=kubectl
k get pod -n kube-system
结果
NAME READY STATUS RESTARTS AGE
local-path-provisioner-58fb86bdfd-w446w 1/1 Running 13 4d9h
metrics-server-6d684c7b5-zxnsc 1/1 Running 6 4d9h
coredns-d798c9dd-jkfz2 1/1 Running 5 4d9h
k3d version
k3d version v1.6.0
k3s version v1.17.2-k3s1
注意:
- 因为k3s内置了一些好用的工具比如HelmChart, ServiceLB, Traefik IngressController等,当时平常主要用的Nginx IngressController比较多,可以自己安装一个Nginx IngressController,或者在搭建Istio/Kourier,所以次演示案例没有安装traefix
- 为啥没有看到k8s相关的核心服务呢?因为k3s把k8s的微服务架构变成了单体架构,嗯应该是这样。
k3s-ansible
ansible的安装方式一般是对运维人员比较友好,而且控制灵活,https://github.com/seanly/k3s-ansible.git这个库是基于官方提供的库的一个修改,由于ansibled的版本变化比较快,平常没有升级的需求,所以修改主要是去掉无用的模块和添加了对docker的支持,我使用的是ansible==2.5.5, 演示:
# 清理环境
ansible-playbook reset.yml -i inventory/hosts.ini -u ops_root -b -vv
# 安装master/node
ansible-playbook site.yml -i inventory/hosts.ini -u ops_root -b -vv
注意:
- 对于机器登录问题,建议编写sshconfig文件,放在ansible.cfg里面
[ssh_connection]
ssh_args=-o ControlMaster=auto -o ControlPersist=30m -F~/.ssh/ops.config
- 编写inventory/hosts.ini文件,填写你需要部署的机器和角色
- 编写配置文件inventory/group_vars/all.yml,定义安装版本,运行用户,启动参数等
---
k3s_version: v1.17.5+k3s1
ansible_user: ops_root
systemd_dir: /etc/systemd/system
master_ip: "{{ hostvars[groups['master'][0]]['ansible_host'] | default(groups['master'][0]) }}"
extra_server_args: --docker --disable traefik
extra_server_args: --docker
- 下载/etc/rancher/k3s/k3s.yaml到本地,修改里面的apiserver地址为master角色的地址
export KUBECONFIG=$(pwd)/k3s.yaml
alias k=kubectl
k get pod -n kube-system
k3s-install.sh
安装方法
这种安装方式是官方提供的,直接演示吧
# master
cat /usr/local/bin/k3s-install.sh| INSTALL_K3S_VERSION=v1.17.4+k3s1 INSTALL_K3S_EXEC="server --docker --disable traefik" sh -s -
# show node-token
cat /var/lib/rancher/k3s/server/node-token
# ip
ip addr 或者 ifconfig
# node
K3S_TOKEN=来自master的node-token
K3S_URL="http://master-ip:6443"
cat /usr/local/bin/k3s-install.sh |INSTALL_K3S_VERSION=v1.17.4+k3s1 INSTALL_K3S_EXEC="--docker" K3S_URL="https://{{ server_ip }}:6443" sh -s -
卸载方法
/usr/local/bin/k3s-agent-uninstall.sh
docker rm -f $(docker ps -qa)
/usr/local/bin/k3s-uninstall.sh
docker rm -f $(docker ps -qa)
注意:
- 下载/etc/rancher/k3s/k3s.yaml到本地,修改里面的apiserver地址为master角色的地址
export KUBECONFIG=$(pwd)/k3s.yaml
alias k=kubectl
k get pod -n kube-system
- 节点和master的卸载命令有差别
k3s-安装的更多相关文章
- 如何安装一个高可用K3s集群?
作者介绍 Janakiram MSV是Janakiram & Associates的首席分析师,也是国际信息技术学院的兼职教师.他也是Google Qualified Developer.亚马 ...
- 一文搞定全场景K3s离线安装
作者简介 王海龙,Rancher中国社区技术经理,负责Rancher中国技术社区的维护和运营.拥有6年的云计算领域经验,经历了OpenStack到Kubernetes的技术变革,无论底层操作系统Lin ...
- 手把手教你玩转 Gitea|使用 Helm 在 K3s 上安装 Gitea
前言 在前面的文章中,演示了如何用 Docker 镜像和 Windows 二进制包来安装运行 Gitea.今天是玩转 Gitea 系列的使用 Helm 在 K3s 上安装 Gitea. 关于 Gite ...
- Just 5分钟!使用k3s部署轻量Kubernetes集群快速教程
大小仅有40MB的k3s为想要节省开销进行开发和测试的企业提供了一个很好的选择.本文将用一种极为简洁的方式,教你在5分钟之内使用k3s部署轻量Kubernetes集群. Kubernetes已经改变了 ...
- 基于centos7.6离线部署开k3s
K3S简介: https://k3s.io/ https://github.com/rancher/k3s https://github.com/rancher/k3s/releases / ...
- k3s首季在线培训来袭!本周四晚,线上见!
筹备已久的k3s在线培训终于要和大家见面啦! k3s是一款适用于边缘计算场景以及IoT场景的轻量级Kubernetes发行版,经过CNCF的一致性认证.由业界应用最广泛的Kubernetes管理平台R ...
- K8S ? K3S !
K8S ? K3S ! K3S 踩坑开始 歪比歪比(奇怪的服务器) 服务器选择我熟悉的 Centos K3S内置 Containerd 但是!作为一个服务器使用自然是要用常见的一点的容器 Docker ...
- 仅需60秒,使用k3s创建一个多节点K8S集群!
作者: Dawid Ziolkowski丨Container Solution云原生工程师 最近,我一直在Kubernetes上进行各种测试和部署.因此,我不得不一次又一次创建和销毁Kubernete ...
- 使用Kubernetes、K3s和Traefik2进行本地开发
作者简介 Vyacheslav,拥有运维和项目管理经验的软件工程师 这篇文章将承接我此前搭建的本地Docker开发环境,具体步骤已经放在在以下网址: https://github.com/Vorone ...
- Rancher On K3s 高可用架构部署
Rancher 推荐部署架构 k3s 模式 RKE 和 k8s 模式 备注: 我对 RKE 的理解就是 Ansible + kubeadm 的打包,首先 rke 需要到每一个节点都可以免密 ssh , ...
随机推荐
- Spring.getBean()流程和循环依赖的解决
getBean流程介绍(以单例的Bean流程为准) getBean(beanName) 从BeanFactory中获取Bean的实例对象,真正获取的逻辑由doGetBean实现. doGetBean( ...
- nginx日志、nginx日志切割、静态文件不记录日志和过期时间
2019独角兽企业重金招聘Python工程师标准>>> 12.10 Nginx访问日志 日志格式 vim /usr/local/nginx/conf/nginx.conf //搜索l ...
- axis2 411
返回411加个这个就行了 _operationClient.getOptions().setProperty(HTTPConstants.CHUNKED, false); 本文转自 cd1989929 ...
- DeepWalk论文精读:(1)解决问题&相关工作
模块1 1. 研究背景 随着互联网的发展,社交网络逐渐复杂化.多元化.在一个社交网络中,充斥着不同类型的用户,用户间产生各式各样的互动联系,形成大小不一的社群.为了对社交网络进行研究分析,需要将网络中 ...
- 一张图告诉你UML图怎么画❀
UML 能帮我们做什么? 我们在进行项目的时候,通过使用 UML 的面向对象图的方式来更明确.清晰的表达项目中的架设思想.项目结构.执行顺序等一些逻辑思维. UML 介绍: 1997年,OMG 组织( ...
- Windows 10配置VS Code C++环境(超详细,面向小白以及大佬们)
看完这个,还有下一篇:门在这 我看了网上的大佬们配的我是在是看不懂啊?我是一个小白啊?这太难了,这阻挡不了我,想使用这很骚的IDE,于是在不断的摸索下,终于配置成功,小白们也不用慌,这次非常简单.一定 ...
- 图论--2-SAT--HDU/HDOJ 1814 Peaceful Commission
Peaceful Commission Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- 疯子的算法总结(七) 字符串算法之 manacher 算法 O(N)解决回文串
有点像DP的思想,写写就会做. #include<bits/stdc++.h> using namespace std; const int maxn=1e7+5; char a[maxn ...
- ASP.NET MVC使用log4net
本文介绍如何在ASP.NET MVC中使用log4net来记录日志文件. 参考链接:https://www.codeproject.com/Articles/823247/How-to-use-Apa ...
- CF1324F Maximum White Subtree——换根dp
换根dp,一般用来解决在无根树上,需要以每个节点为根跑一边dfs的dp问题 我们做两遍dfs 先钦定任意一个点为根 第一遍,算出\(f_i\)表示\(i\)的子树产生的答案,这里,子树指的是以我们钦定 ...