树莓派上的kubernetes安装
文章目录前言一、安装环境二、安装步骤1.切换源2.添加aliyun key3安装k8s工具4查看版本总结前言kubernetes install一、安装环境树莓派Ubuntu server 20.10已经安装好docker二、安装步骤1.切换源以打开 /etc/apt/sources.list 文件,添加一行deb https://mirrors.aliyun.com/kubernetes/apt
前言
kubernetes install
一、安装环境
- 树莓派
- Ubuntu server 20.10
- 已经安装好docker
二、安装步骤
1.添加kubernetes源
添加aliyun 源
apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
2.添加aliyun key
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add
3安装k8s工具
安装了 kubelet、kubeadm、kubectl ,
- kubelet 是 k8s 相关服务
- kubectl 是 k8s 管理客户端
- kubeadm 是部署工具。
apt-get update
apt-get install -y kubelet kubeadm kubectl
4查看版本
#看是否安装正常
kubeadm init
kubeadm version
5CGROUPS_MEMORY: missing
出现CGROUPS_MEMORY: missing的问题,
在/boot/firmware/nobtcmd.txt 中加入
cgroup_enable=memory cgroup_memory=1,然后 reboot 重启一下即可。
有可能是/boot/firmware/cmdline.txt
6kubeadm初始化警告”cgroupfs“解决
编辑/usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --exec-opt native.cgroupdriver=systemd
重启
systemctl daemon-reload
systemctl restart docker
设置完成后通过docker info命令可以看到Cgroup Driver为systemd
docker info | grep Cgroup
7 解决组件镜像无法拉取的问题
查看需要的版本:
kubeadm config images list
从https://hub.docker.com/上搜索对应的容器,查找arm64架构的对应tag版本。
然后用docker pull 下来。
将Pull下来的版本打tag成对应的版本
# 需要的
kubeadm config images list
k8s.gcr.io/kube-apiserver:v1.20.2
k8s.gcr.io/kube-controller-manager:v1.20.2
k8s.gcr.io/kube-scheduler:v1.20.2
k8s.gcr.io/kube-proxy:v1.20.2
k8s.gcr.io/pause:3.2
k8s.gcr.io/etcd:3.4.13-0
k8s.gcr.io/coredns:1.7.0
# hub.docker上pull的对应的
docker pull kubesphere/kube-apiserver:v1.19.0
docker pull kubesphere/kube-controller-manager:v1.19.0
docker pull kubesphere/kube-scheduler:v1.19.0
docker pull kubesphere/kube-proxy:v1.19.0
docker pull kubesphere/pause:3.2
docker pull kubesphere/etcd:v3.4.13
docker pull coredns/coredns:1.7.0
#将Pull下来的tag成需要的,使用 docker tag {旧名称:版本}:{新名称:版本} ,将镜像改名。
docker tag docker.io/kubesphere/kube-apiserver:v1.19.0 k8s.gcr.io/kube-apiserver:v1.20.2
docker tag docker.io/kubesphere/kube-controller-manager:v1.19.0 k8s.gcr.io/kube-controller-manager:v1.20.2
docker tag docker.io/kubesphere/kube-scheduler:v1.19.0 k8s.gcr.io/kube-scheduler:v1.20.2
docker tag docker.io/kubesphere/kube-proxy:v1.19.0 k8s.gcr.io/kube-proxy:v1.20.2
docker tag docker.io/kubesphere/pause:3.2 k8s.gcr.io/pause:3.2
docker tag docker.io/kubesphere/etcd:v3.4.13 k8s.gcr.io/etcd:3.4.13-0
docker tag docker.io/coredns/coredns:1.7.0 k8s.gcr.io/coredns:1.7.0
8.内核开启ipv4转发
IP地址分为公有ip地址和私有ip地址,Public Address是由INIC(internet network information center)负责的,这些IP地址分配给了注册并向INIC提出申请的组织机构。Private Address属于非注册地址,专门为组织内部使用。Private Address是不可能直接用来跟WAN通信的,要么利用帧来通信(FRE帧中继,HDLC,PPP),要么需要路由的转发(nat)功能把私有地址转换为公有地址才行。
出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将数据包发往本机另一块网卡,该网卡根据路由表继续发送数据包。这通常是路由器所要实现的功能
打开/etc/sysctl.conf
$ sudo vim /etc/sysctl.conf
- 修改/etc/sysctl.conf文件
net.ipv4.ip_forward = 1 #开启ipv4转发,允许内置路由
- 写入后执行如下命令生效:
sysctl -p
9. 初始化主节点
kubeadm init --pod-network-cidr=10.244.0.0/16
10.开机启动
systemctl enable kubelet && sudo systemctl start kubelet
11.The connection to the server localhost:8080 was refused - did you specify the right host or port?
解决办法:
将主节点(master节点)中的【/etc/kubernetes/admin.conf】文件拷贝到从节点相同目录下:
scp -r /etc/kubernetes/admin.conf ${node1}:/etc/kubernetes/admin.conf
配置环境变量:
echo “export KUBECONFIG=/etc/kubernetes/admin.conf” >> ~/.bash_profile
立即生效:
source ~/.bash_profile
三 引用
一. 查找文件
linux搜索查找一位任意字符加‘.txt’文件,命令如下:
find ./ -name '?.txt'
find后第一个选项为查找范围,
-name代表根据文件名查找
第三个是文件名,可以使用通配符
找到
二. VIM下搜索字符串
1. 命令模式下,输入:/字符串
2. 比如搜索user, 输入/user
按下回车之后,可以看到vim已经把光标移动到该字符处和高亮了匹配的字符串
3. 查看下一个匹配,按下n(小写n)
4. 跳转到上一个匹配,按下N(大写N)
5. 搜索后,我们打开别的文件,发现也被高亮了,怎么关闭高亮?
命令模式下,输入:nohlsearch 也可以:set nohlsearch; 当然,可以简写,noh或者set noh。
三.参考
1. https://blog.csdn.net/mayi_xiaochaun/article/details/99221692
2. https://blog.csdn.net/qq_39346534/article/details/107705752
总结
以上就是今天要讲的内容,本文仅仅简单介绍了k8s的安装过程。
更多推荐
所有评论(0)