k8s学习笔记之安装

一,准备工做

1,master节点硬件要求:
cpu:至少2核
内存:至少2G
2,禁用全部节点swap:
swapoff -a
注释/etc/fstab文件中swap一行
3,禁用全部节点selinux:
setenforce 0
修改/etc/selinux/config
4,禁用全部节点防火墙:
sytemctl stop firewalld
systemctl disable firewalld
5,修改节点主机名:
hostname xxx
hostnamectl set-hostname xxx
6,全部节点将ipv4桥接流量传递到iptables链:
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl –system
7,全部节点开启ip转发:
echo “net.ipv4.ip_forward = 1”>>/etc/sysctl.confnode

二,开始安装

1,全部节点添加k8s源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[k8s]
name=k8s
enabled=1
gpgcheck=0
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
EOFlinux

2,全部节点安装docker
yum install https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-19.03.9-3.el7.x86_64.rpm https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-19.03.9-3.el7.x86_64.rpm -y --nobestgit

全部节点都须要修改docker源:

默认为 /etc/docker/daemon.json,非默认路径须要修改 dockerd 的 –config-file,在该文件中加入以下内容: 

"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] 
}github

速度仍是很慢,以下方法:
http://f1361db2.m.daocloud.io
或者
"registry-mirrors":["https://f3lu6ju1.mirror.aliyuncs.com"]web

3,全部节点安装k8s
yum install kubeadm kubectl kubelet -ydocker

4,全部节点启用docker
systemctl enable docker
systemctl start docker
5,全部节点启用kubelet
systemctl enable kubelet
6,初始化master节点
kubeadm init \
--apiserver-advertise-address=192.168.122.100 \
--image-repository=registry.aliyun.com/google_containers \
--kubernetes-version=v1.18.0 \
--service-cidr=10.1.1.0/16 \
--pod-network-cidr=10.0.0.0/16
7,根据初始化完成后的提示在主节点执行
k8s学习笔记之安装json

在其他各节点执行
k8s学习笔记之安装centos

8,在主节点执行docker images,结果以下

k8s学习笔记之安装
在其他节点执行,结果以下
k8s学习笔记之安装
9,在主节点执行kubectl get nodes,结果以下
k8s学习笔记之安装
10,在主节点安装网络组件,flannel(或者calico,或者其它)
安装前,查看,执行kubectl get pods -n kube-system,结果以下:
k8s学习笔记之安装
执行安装:
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.ymlapi

安装后,查看,执行kubectl get pods -n kube-system
若是出现
k8s学习笔记之安装
须要等待拉取镜像若是一分钟左右status没有变为Running,或者出现以下所示:网络

则是镜像源速度太慢所致
此时,修改kube-flannel.yml文件中的源便可解决
sed -i 's#quay.io/coreos#jmgao1983#g' kube-flannel.yml
kubectl apply -f kube-flannel.yml
再次执行 kubectl get pods -n kube-system
k8s学习笔记之安装
有一个flannel镜像拉取失败,可是不影响使用,应该是有一个ok就能够了(这个后面发现是有问题的,对应节点状态是notready)

执行 kubectl get node
k8s学习笔记之安装
若是某个节点的status一直为Notready,
那么,在该节点以下操做
mkdir -p /etc/cni/net.d/
scp root@192.168.122.100/etc/cni/net.d/10-flannel.conflist /etc/cni/net.d/
其中,192.168.122.100为任意一个状态正常的节点ip

k8s学习笔记之安装
这样的结果,才是正常状态
配置好后重启kubelet,docker,而后等待5分钟全部就能够拉取完全部镜像
k8s学习笔记之安装
状态终于变为Ready
后续加入两个从节点
k8s学习笔记之安装
注意:从节点加入后,须要在该节点重启kubelet,docker,而且等待该节点拉取镜像,运行容器
k8s学习笔记之安装
k8s学习笔记之安装
k8s学习笔记之安装
11,安装dashboard(web管理面板)
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc7/aio/deploy/recommended.yaml
kubectl apply -f recommended.yaml
k8s学习笔记之安装
获取web管理面板所在节点
k8s学习笔记之安装
能够看见,web管理面板在节点node2,端口为30000
访问https://192.168.122.102:30000
k8s学习笔记之安装
获取token,而后使用token登陆
kubectl -n kube-system describe $(kubectl -n kube-system get secret -o name | grep namespace) | grep token
k8s学习笔记之安装

相关文章
相关标签/搜索