前言

kubernetes install


一、安装环境

  1. 树莓派
  2. Ubuntu server 20.10
  3. 已经安装好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 ,

  1. kubelet 是 k8s 相关服务
  2. kubectl 是 k8s 管理客户端
  3. 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
  1. 修改/etc/sysctl.conf文件
net.ipv4.ip_forward = 1     #开启ipv4转发,允许内置路由
  1. 写入后执行如下命令生效:
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的安装过程。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐