k8s安装全流程

[TOC]

目录划分

  1. 下载软件存放目录
    下载的软件统一下载到
/opt/xxx
  1. 安装目录
/usr/local/

k8s安装

机器划分

物理主机名 ip地址 角色划分
et2bq6si 192.168.2.8 worker
69g95x44 192.168.2.9 worker
arhkma6i 192.168.2.13 master

1. 修改host

# k8s hosts
192.168.2.8 k8s-node1
192.168.2.9 k8s-node2
192.168.2.13 k8s-master

2. 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld
# 这个基本上不用操作
vim /etc/selinux/config
主要查看SELINUX=disabled,如果SELINUX=eabled 需要修改为disabled 

3. 修改yum源

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg  https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

4. yum安装

yum install -y kubelet-1.22.1 kubeadm-1.22.1 kubectl-1.22.1 --disableexcludes=kubernetes
# 设置 kubelet 开机启动
systemctl enable kubelet

5. 配置iptables

# 增加配置
# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
# 生效
sysctl -p

6. 安装etcd&flannel

#安装etcd和flannel(master上安装etcd+flannel,node上只安装flannel)
yum  -y  install  etcd
// 不需要启动,k8s初始化的时候会自动启动
#systemctl start etcd
systemctl enable etcd
yum  -y  install  flannel

7. 初始化集群

kubeadm init --kubernetes-version v1.22.1 --apiserver-advertise-address 192.168.2.13 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.233.0.0/16 --token-ttl 0

7.1 加入集群

kubeadm join 192.168.2.13:6443 --token 5ra5s6.lhommo04c0f1y5yt \
        --discovery-token-ca-cert-hash sha256:b3c9be99406e2b71402d1b80ca68bb768542650c272330329b94862837a7b8a1
或者采用该命令获取
kubeadm token create --print-join-command

7.2 网络插件flannel安装

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl create -f kube-flannel.yml 

8. 安装过程中遇到的问题

  1. etcd端口被占用,初始化的时候提示2379\2380端口被占用,
通过 lsof -i:2379检查发现是etcd,原来在刚刚安装的时候打开了etcd
[ERROR Port-2379]: Port 2379 is in use
[ERROR Port-2380]: Port 2380 is in use
解决, 关闭etcd
systemctl stop etcd
  1. 提示 /var/lib/etcd is not empty
 [ERROR DirAvailable--var-lib-etcd]: /var/lib/etcd is not empty
 rm /var/lib/etcd
  1. 初始化过程中拉取镜像超时,因为远方地址被墙了
#!/bin/bash
images=(
        kube-apiserver:v1.22.1
kube-controller-manager:v1.22.1
kube-scheduler:v1.22.1
kube-proxy:v1.22.1
pause:3.5
etcd:3.5.0-0
coredns:v1.8.4
)

for imageName in ${images[@]} ; do
    docker pull v5cn/$imageName
    docker tag v5cn/$imageName k8s.gcr.io/$imageName
    docker rmi v5cn/$imageName
done

docker tag k8s.gcr.io/coredns:v1.8.4 k8s.gcr.io/coredns/coredns:v1.8.4
dcoker rmi k8s.gcr.io/coredns:v1.8.4

通过以上sh来转换
  1. kubelet启动失败,ailed to run Kubelet: misconfiguration: kubelet cgroup driver: "systemd" is different from docker
journalctl -f -u kubelet 
原因是k8s的cgroup默认是systemd,docker的默认是cgroupfs
修改docker的默认值
修改:/etc/docker/daemon.json(没有就新建)
{
  "exec-opts": ["native.cgroupdriver=systemd"]
}
# 重启docker
systemctl restart docker
  1. scheduler健康检查失败Get http://127.0.0.1:10252/healthz: dial tcp 127.0.0.1:10252: connect: connection refused
https://www.cnblogs.com/lfl17718347843/p/14191336.html
  1. coredns解析失败
关闭防火墙后成功
  1. 安装过程中因为配置的子网信息错误需要重新初始化
kubeadm reset 后可以再次执行init初始化的动作
  1. 子节点加入集群提示/proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
https://developer.aliyun.com/article/701252
  1. 当master节点重置后,在进行初始化,子节点使用命令加入不成功 Error getting node" err="node "k8s-node2" not found
需要对子节点进行kubeadm reset,后在进行加入集群
  1. 子节点加入集群后,发现对应的flannel proxy容器拉取失败
因为子节点中没有这几个镜像,就会从远端拉取,但是被墙了就获取不成功了,需要执行上面的sh方法拉取镜像
  1. master节点不能访问node节点的pod
检查flannel的网络端是否不一致
参考:https://zhuanlan.zhihu.com/p/368559385
  1. 重新初始化flannel网络
#第一步,在master节点删除flannel
kubectl delete -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

#第二步,在node节点清理flannel网络留下的文件
ifconfig cni0 down
ip link delete cni0
ifconfig flannel.1 down
ip link delete flannel.1
rm -rf /var/lib/cni/
rm -f /etc/cni/net.d/*
注:执行完上面的操作,重启kubelet

#第三步,kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

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

推荐阅读更多精彩内容

  • 个人笔记,仅供参考,他人按此步骤不一定能顺利搭建 1、配置阿里云docker源,安装组件,安装docker-ce(...
    字伯约阅读 785评论 0 0
  • kubeadm安装k8s集群kubeadm安装Kubernetes V1.16.2集群详细文档kubeadm安装 ...
    digitalgd_zyg阅读 606评论 0 1
  • 二进制部署k8s 一、安装要求 在开始之前,部署Kubernetes集群机器需要满足以下几个条件: 一台或多台机器...
    s1mple阅读 1,913评论 0 6
  • 集群间的同一网段部署很简单,网上教程很多。但是有的时候想学习或者测试之类的种种原因手里没有足够的局域网机器的话,想...
    mysuperl阅读 5,890评论 5 4
  • #一、环境准备 ##1.1安装后的拓扑图 ![k8s安装拓扑图](./pics/install-k8s.png) ...
    郑军Bingo阅读 503评论 0 0