环境配置:
切换到root权限
sudo su
配置国内源
vim /etc/apt/sources.list.d/kubernetes.list
填写 deb http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main
保存退出
更新源
apt update
会显示没有公钥
然后执行
gpg --keyserver keyserver.ubuntu.com --recv-keys BA07F4FB 填入后八位即可
gpg --export --armor BA07F4FB|apt-key add - 填入后八位即可
再次更新就不会显示没有公钥
apt update
禁用防火墙
ufw disable
关闭交换区swap(在内存不够用时,会用磁盘代替)
临时关闭
swapoff -a
永久关闭
vim etc/fstab
注释掉倒数第1行
禁用linux自带的安全环境selinux
#安装selinux命令
apt install -y selinux-utils
#禁止selinux
setenforce 0
#重启
shutdown -r now
#查看是否已经关闭
getenforce
k8s网络配置
1.配置内核参数,将桥接的ipv4流量传到iptable
vim /etc/sysctl.d/k8s.conf
添加:
net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
vm.swappiness=0
2.使修改生效
modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf
k8s安装
apt-get install -y kubelet=1.13.1-00 kubernetes-cni=0.6.0-00 kubeadm=1.13.1-00 kubectl=1.13.1-00
设置为开机重启
systemctl enable kubelet&&systemctl start kubelet
shutdown -r now
查看是否安装成功
kubectl version
配置k8s 采用一个master两个node 相当于开三台虚拟机
把刚配置好的作为master 然后克隆两个node
启动三台虚拟机
1、修改主机名
vim /etc/hostname
第一台修改为master 另外两台修改为node1 node2
2、修改host文件 保证能互相ping通
vim /etc/hosts
添加
192.168.81.130 master
192.168.81.132 node1
192.168.81.133 node2
配置master节点
新建工作目录
mkdir /home/master
生成配置文件并重定向到master文件夹
kubeadm config print init-defaults ClusterConfiguration>kubeadm.conf
vim kubeadm.conf
更改版本号 修改为13.1版本 kubernetesVersion: v1.13.1
更改下载源 imageRepository: registry.cn-beijing.aliyuncs.com/imcto
更改ip advertiseAddress: 192.168.81.130
配置子网 实现容器之间的通信
networking:
dnsDomain: cluster.local
podSubnet: "10.244.0.0/16"
serviceSubnet: 10.96.0.0/12
配置node节点
1.将master机器中的/etc/kubernetes/admin.conf复制到node1 2
scp /etc/kubernetes/admin.conf itcast@192.168.81.132:/root/
scp /etc/kubernetes/admin.conf itcast@192.168.81.133:/root/
2.创建基础kube配置文件环境 在node1和node2分别执行
mkdir -p $HOME/.kube
cp -i $HOME/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
node1和node2加入master中
kubeadm join 192.168.81.130:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:e78a9f23c2bf549f362ee75281442f5fc4e62b314e354bffe9e48e4be549b19b
初始化启动k8s
kubeadm init --config ./kubeadm.conf