准备条件
- 三台阿里云服务器,必须在一个网段(比如我的,都在(华东2)上海),注意我们用私网IP互联,相当于局域网
- 一台作为mater 172.19.127.191
- 两台作为node 172.19.127.192 172.19.127.193
为了方便,统一命名,比如yun01,yun02,yun03, HostName是要改的地方,然后三台实例都重做一遍,比如我的是Centos7.6
好了,到此3台全新的centos就有了
用Xshell连接上三台服务器,用公网IP哦
连上以后,我们右键,选择发送键输入到所有会话
因为我们接下来的操作需要在所有服务器上运行
好了,跟着我做把!!
关闭防火墙
systemctl stop firewalld&&systemctl disable firewalld
关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0 *[查看一下]
关闭swap 临时关闭/永久关闭
swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab
修改每台主机互相映射,如图,保存退出
vi /etc/hosts
172.19.127.191 yun01
172.19.127.192 yun02
172.19.127.193 yun03
安装docker-ce
yum install -y yum-utils device-mapper-persistent-data lvm2
设置docker repo 的yum位置
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker ,docker-cli
docker-ce-19.03.5 docker-ce-cli-19.03.5 containerd.io
清理一下
yum clean all&&yum makecache
docker配置阿里云镜像
mkdir -pv /etc/docker/
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://iqei0bp2.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
]
}
EOF
更新配置,启动
sudo systemctl daemon-reload&&sudo systemctl restart docker
设置开机启动
systemctl enable docker
k8s设置阿里云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=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
清理一下
yum clean all && yum makecache
编辑一下,在文件末尾加入,防止被墙
vi /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
刷新配置
sysctl --system
安装k8s三大件
yum install -y kubelet-1.17.3 kubeadm-1.17.3 kubectl-1.17.3
开机启动
systemctl enable kubelet&&systemctl start kubelet
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
分割符
现在开始取消发送键输入到所有会话
Maset节点 172.19.127.191 yun01
找个地方建个文件夹,进入到该路径下
mkdir -p /home/k8s
cd /home/k8s
新建文件,添加以下代码,包含了mater节点需要安装的镜像
vim master_images.sh
#!/bin/bash
images=(
kube-apiserver:v1.17.3
kube-proxy:v1.17.3
kube-controller-manager:v1.17.3
kube-scheduler:v1.17.3
coredns:1.6.5
etcd:3.4.3-0
pause:3.1
)
for imageName in ${images[@]} ; do
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
done
给文件赋权
chmod +x master_images.sh
执行
./master_images.sh
node节点!!!!!!
新建node_image.sh
vim node_image.sh
#!/bin/bash
images=(
kube-proxy:v1.17.3
pause:3.1
)
for imageName in ${images[@]} ; do
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
done
赋权,执行,两台node都来一遍
chmod +x node_image.sh
./node_image.sh
回到Master节点
准备安装,除了apiserver-advertise-address改成自己的master节点Ip,其余copy就行
kubeadm init \
--apiserver-advertise-address=172.19.127.191 \
--kubernetes-version v1.17.3 \
--service-cidr=10.96.0.0/16 \
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors=Swap
执行完是这样子的,一共有三步操作
然后跟着他做
1.执行结果中的这一部分
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
2.到这里开始安装flanner网络插件
新建 kube-flannel.yaml文件,文件有点长,我发个链接,你们下载完执行就可以
链接:https://share.weiyun.com/VEvy6om9 密码:w4jvrx
开始执行
kubectl apply -f kube-flannel.yml
安装完成,动态查看
watch kubectl get pod -n kube-system -o wide
当Status都是running时,这是mater就是Ready
kubectl get nodes
3.将node节点加入到master里
分别在两台机器里执行这段语句
我的跟你们不一样就别copy了
kubeadm join 172.19.127.191:6443 --token bak81f.b4633uzxez6vdrvi --discovery-token-ca-cert-hash sha256:c39ea3c56d89cd1f1e274693c0319d4338bc37cfaa8f263e0cf10c1bd30758ad
如果窗口关闭或者过期可以重新生成
kubeadm token create --ttl 0 --print-join-command
执行成功
回到master,查看所有pod安装状态,等待都是Running状态
kubectl get pods --all-namespaces
查看节点状态,这样就成功了
好了,下期再见,我将为大家讲解可视化工具kubesphere的安装