这个地址步骤特别全我就照这个步骤一步一步搭建的
https://blog.csdn.net/cckevincyh/article/details/98991859
我个人觉得k3s就挺好的没必要上k8s
我是在自己的pc上搭建的虚拟机,虚拟机是怎么来的,在下面
http://www.epinv.com/post/11817.html
在这里插入图片描述
%设置国内镜像源头 http://mirrors.aliyun.com/ubuntu/ 注意末尾的斜线,我这里居然忘记添加末尾的斜线,不过貌似没啥问题?最好还是加上末尾的斜线吧。这块不改安装会很慢。

docker-ce18.06.1下载地址
https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64/docker-ce_18.06.1ce3-0~ubuntu_amd64.deb

在这里插入图片描述

1强制关闭防火墙

sudo ufw disable

在这里插入图片描述

2关闭swap

sudo vi /etc/fstab

注释掉swapfile
在这里插入图片描述

禁止selinx

安装selinux的命令

apt install selinux-utils

禁止selinux

setenforce 0

重启操作系统

shutdown -r now

查看selinux是否已经关闭

getenforce

显示Disabled
在这里插入图片描述
在这里插入图片描述

设置下载镜像

sudo su
touch /etc/apt/sources.list.d/kubernetes.list

添加

deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main

更行源

 apt update

k8s系统网络配置

1配置内核参数,将桥接的IPv4流量传递到iptables的链
创建/etc/sysctl.d/k8s.conf
添加内容如下:

net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.svappiness = 0

2执行命令使修改的命令生效
modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf

使用apt来进行安装kubeadm、kubelet、kubectl

查看可用版本(选择最新的)
apt-cache madison kubeadm
#安装指定版本
sudo apt-get install -y kubelet=1.14.1-00 kubeadm=1.14.1-00 kubectl=1.14.1-00
设置开机自启动
sudo systemctl enable kubelet && sudo systemctl start kubelet

验证k8s

使用root用户登录Master主机

执行如下个命令

$ kubectl get nodes 
The connection to the server localhost:8080 was refused - did you specify the right host or port?

The connection to the server localhost:8080 was refused - did you specify the right host or port?

解决:

export KUBECONFIG=/etc/kubernetes/admin.conf

定义在6443端口 而不是8080

配置Master节点

创建工作目录

$ sudo mkdir /home/master/working
$ cd /home/master/working/

创建kubeadm.conf配置文件

创建k8s的管理工具kubeadm对应的配置文件,之后操作在home/master/working/目录下
使用kubeadm配置文件,通过在配置文件中指定docker仓库地址,便于内网快速部署。

切换root用户,然后生成配置文件

kubeadm config print init-defaults ClusterConfiguration > kubeadm.conf

修改kubeadm.conf中的如下
advertiseAddress: 172.17.2.205
imageRepository: registry.aliyuncs.com/google_containers
podSubnet: 10.244.0.0/16
kubernetesVersion: v1.16.3

这里的10.244.0.0/16 和 10.96.0.0/12分别是k8s内部pods和services的子网网络,最好使用这个地址,后续flannel网络需要用到。

拉取K8s必备的模块镜像

查看一下都需要哪些镜像文件需要拉取

$ kubeadm config images list --config kubeadm.conf
registry.cn-beijing.aliyuncs.com/imcto/kube-apiserver:v1.13.1
registry.cn-beijing.aliyuncs.com/imcto/kube-controller-manager:v1.13.1
registry.cn-beijing.aliyuncs.com/imcto/kube-scheduler:v1.13.1
registry.cn-beijing.aliyuncs.com/imcto/kube-proxy:v1.13.1
registry.cn-beijing.aliyuncs.com/imcto/pause:3.1
registry.cn-beijing.aliyuncs.com/imcto/etcd:3.2.24
registry.cn-beijing.aliyuncs.com/imcto/coredns:1.2.6

拉取镜像

#下载全部当前版本的k8s所关联的镜像
kubeadm config images pull --config ./kubeadm.conf

初始化kubernetes环境

#初始化并且启动
$ sudo kubeadm init --config ./kubeadm.conf

常见问题解决方案如下:
https://blog.csdn.net/ccy19910925/article/details/80860639
https://www.imooc.com/article/268282
https://www.cnblogs.com/pu20065226/p/10641312.html
https://www.cnblogs.com/it-peng/p/11393812.html

https://github.com/coreos/flannel/releases/tag/v0.12.0

解决flannel镜像被墙问题在GitHub上下载coreos/flannel的版本。
https://xw.qq.com/partner/standard/20201009A06MJH/20201009A06MJH00?ADTAG=standard&pgv_ref=standard

k8s中正确删除一个pod
https://www.cnblogs.com/effortsing/p/10496547.html

Logo

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

更多推荐