树莓派集群安装K3S记录

去年由于工作关系一直没有编写学习记录.最近正在使用K8S,正好利用以前的树莓派来搭建一个学习环境 并记录自己的学习成果.

一.硬件环境准备

还是采用原有四台树莓派3来做为硬件设备.

二.操作系统安装

利用flash刷新HypriotOS至最新版本(1.12.3) 下载地址
刷新教程可以参考前期的文章:树莓派3 HypriotOS安装
这次配置了一个static.yml文件

#cloud-config
# vim: syntax=yaml
#

# Set your hostname here, the manage_etc_hosts will update the hosts file entries as well
hostname: kmaster
manage_etc_hosts: true
# don't write debian.org into apt mirrors
apt_preserve_sources_list: true

# You could modify this for your own user information
users:
  - name: sunsl
    gecos: "Hypriot Pirate"
    sudo: ALL=(ALL) NOPASSWD:ALL
    shell: /bin/bash
    groups: users,docker,video
    plain_text_passwd: admin
    lock_passwd: false
    ssh_pwauth: true
    chpasswd: { expire: false }

package_upgrade: false

# Static IP address
write_files:
  - content: |
      persistent
      # Generate Stable Private IPv6 Addresses instead of hardware based ones
      slaac private
      # static IP configuration:
      interface eth0
      static ip_address=192.168.31.50/24
      # static ip6_address=fd51:42f8:caae:d92e::ff/64
      static routers=192.168.31.1
      static domain_name_servers=8.8.8.8
    path: /etc/dhcpcd.conf
# These commands will be ran once on first boot only
runcmd:
  # Pickup the hostname changes
  - 'systemctl restart avahi-daemon'

  # Activate WiFi interface
#  - 'ifup wlan0'

运行flash进行SD卡的格式化安装

flash -u static.yml hypriotos-rpi-v1.12.3.img

这里存在一个问题就是设置静态地址并未产生效果,由于这次试验重点不在这里,所以没有去深入查找问题.用户名和密码已正常更新.后期有时间再找问题吧.

刷新结束后记得对系统进行更新升级

sudo apt update && sudo apt upgrade -y

如果更新时出现无法更新时可以追加google的dns服务器,我这边出现无法更新时用这种方法就可以更新了.

$ sudo nano /etc/resolvconf/resolv.conf.d/base
#增加两个nameserver 
nameserver 8.8.8.8
nameserver 8.8.4.4

重启设置就可以了.
升级后Docker会从19.03.12升级至20.10.3

三.系统初始化配置

这一步主要是把所有的主机统一命名及写hosts文件.

  1. 修改主机名
    在这里记录下当时遇到的坑-如何修改hostname.很多文章都是说直接修改/etc/hostname,但对于最新的Raspbian或者说HypriotOS来说直接修改后重启是无效的.也尝试过修改/boot/user-data,这个应该是在第一次启动时有效(未做试验).正常的处理办法是修改/etc/cloud/cloud.cfg文件
$ sudo nano /etc/cloud/cloud.cfg

preserve_hostname: false
修改
preserve_hostname: true

执行命令 hostnamectl set-hostname 主机名

hostnamectl set-hostname kmaster

重启后即可完成主机名的修改.

  1. 配置hosts文件
    这个也不是直接修改/etc/hosts文件,而是需要修改/etc/cloud/templates/hosts.debian.tmpl文件,由于我准备利用4台树莓派做集群,1台mater,3台node,所以我在文件尾部追加了如下信息:
192.168.31.50 kmaster
192.168.31.51 knode1
192.168.31.52 knode2
192.168.31.53 knode3

四.安装K3S

这里要隆重介绍下https://www.rancher.cn/ 这个网址,利用他们的K3S文档可以快速搭建起所需的K3S环境.特别是针对国内用户,如果你是用"curl -sfL https://get.k3s.io | sh -"来进行安装 的话,我就呵呵了.
正常的安装姿势应该是:

curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

下载安装速度还是很让人满意的,很快就完成了主节点的安装.
追加node节点需要知道主节点下的node_token:

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

复制显示出来的token至命令中,替换mynodetoken.还要将myserver:6443改为自己定义的IP地址,我这里的master节点ip为192.168.31.50.

curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://192.168.31.50:6443 K3S_TOKEN=mynodetoken sh -

在剩下的三台树莓派分别运行以上命令.需要注意的是,这时立即返回master节点利用"kubectl get nodes"进行查看是得不到结果的,要等一会才行.用"kubectl get pods --all-namespaces"查看pod更新没有可能:),主要是后续下载问题吧.

时间长短要看网络情况,这个安装过程我这边持续了两个多小时,所以大家最好是晚上装,早上看结果.省得想我一样一直盯到两三点了还在查找为什么我的安装不成功.

至此4台树莓派的K3S基础环境搭建完毕!


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容