这个地址步骤特别全我就照这个步骤一步一步搭建的
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