k8s集群环境搭建
2021-04-30 本文已影响0人
voidFan
k8s
centos离线安装k8s
k8s基本概念
1、安装前准备工作
# 1、服务器时间同步
timedatectl set-timezone Asia/Shanghai
# 2、关闭防火墙、安全性【测试环境使用】
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
# 3、修改主机名
hostnamectl set-hostname master &&bash # master节点
hostnamectl set-hostname node1 &&bash # node节点
# 4、修改hosts文件, 添加master和node的本地域名【master和所有node配成一样】
vim /etc/hosts
# 5、免密交互【仅master上】
ssh-keygen # 生成公钥
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2
ssh-copy-id -i ~/.ssh/id_rsa.pub root@master
ssh root@node1 # 测试连接
# 6、关闭交换内存swap
swapoff -a # 临时关闭
sed -i '12s/^\//#\//g' /etc/fstab # 永久关闭
# 7、网桥设置
echo -e "net.bridge.bridge-nf-call-ip6tables = 1\nnet.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.d/k8s.conf
sysctl --system # 使用生效
2、部署docker(至少两台,一个master,一个node)
# 解压安装docker
tar -zxvf docker-ce-18.09.tar.gz
cd docker && yum localinstall *.rpm -y # yum安装相关依赖
# 启动docker
systemctl start docker
systemctl enable docker #开机启动
docker version
# 配置阿里云docker镜像加速站
vim /etc/docker/daemon.json # 新增
{
"registry-mirrors": ["https://fskvstob.mirror.aliyuncs.com/"]
}
systemctl daemon-reload # 重新加载
3、部署K8s集群(至少两台,一个master,一个node)
# 1、解压安装k8s
tar -zxvf kube114-rpm.tar.gz
cd kube114-rpm && yum localinstall *.rpm -y # yum解决依赖
# 2、导入k8s相关的镜像
docker load -i k8s-114-images.tar.gz
docker load -i flannel-dashboard.tar.gz
# 3、查看k8s镜像
docker images # 共9个k8s相关的镜像
4、master节点初始化
# 1、配置pod网络
kubeadm init --kubernetes-version=v1.14.1 --pod-network-cidr=10.244.0.0/16
# ******************复制输出,后面node节点加入集群的时候需要使用************************
# 如果遇到 net-ipv4的报错。解决方法:
echo "1" >> /proc/sys/net/ipv4/ip_forward
# 2、查看节点
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get node # 查看本节点的状态,此时为《未准备好》
kubectl get pod --all-namespaces # 查看pod的命名空间
# 3、配置kubeconfig变量
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> /etc/profile
source /etc/profile
echo $KUBECONFIG # /etc/kubernetes/admin.conf
# 4、部署flannel网络
kubectl create -f kube-flannel.yml
kubectl get node
# 5、【切换到node节点】使用kubeadm join加入node节点
systemctl enable kubelet # 添加开机启动k8s
kubeadm join 192.168.0.110:6443 --token *** --discovery-token-ca-cert-hash sha256:***
5、验证搭建是否成功
kubectl get node # 查看k8s集群上的节点
# 【master上】部署k8s UI界面(dashboard)
kubectl apply -f kubernetes-dashboard.yaml
kubectl apply -f admin-role.yaml
kubectl apply -f kubernetes-dashboard-admin.rbac.yaml
kubectl -n kube-system get svc
# 查看dashboard的安装节点
kubectl get pods --all-namespaces -o wide
# 网页验证
http://dashboard_node_ip:32000
k8s基本命令使用
#
kubectl get pods --all-namespaces -o wide
#
kubectl get services --all-namespaces