Kubernetes安装 文档详情
安装操作系统:centos 7.5.1804
k8s版本: 1.10 (离线安装)
第一步:准备工作
1、准备3台干净的centos虚机。 1台 master,2台node
2、分别设置主机名为master node1,node2,时区
timedatectl set-timezone Asia/Shanghai #3台都要执行
3、设置主机名称
hostnamectl set-hostname master #master执行
hostnamectl set-hostname node1 #node1执行
hostnamectl set-hostname node2 #node2执行
4、修改 hosts
vi /etc/hosts
192.168.4.106 matser
192.168.4.107 node1
192.168.4.108 node2
5、关闭所有节点的seliux以及firewalld
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
setenforce 0
systemctl disable firewalld
systemctl stop firewalld
6、上传离线安装包
链接:https://pan.baidu.com/s/1gl5LO1iAbDSVe2YEIBbiYw
提取码:0rq6
第二步:安装docker
1、离线安装, docker-packages.tar,每个节点都要安装
tar -xvf docker-packages.tar
cd docker-packages
rm -rf audit-libs-python-2.7.6-3.el7.x86_64.rpm libsemanage-python-2.5-8.el7.x86_64.rpm policycoreutils-python-2.5-17.1.el7.x86_64.rpm
yum install local *.rpm
docker version
2、启动docker,并设置为开机自启
systemctl start docker && systemctl enable docker
3、设置加速器
cat << EOF > /etc/docker/daemon.json
{
“insecure-registries”:[“registry-rlsk:5000”,“https://omp33s0g.mirror.aliyuncs.com”]
}
EOF
systemctl daemon-reload && systemctl restart docker
第三步:安装kubeadm,kubectl,kubelet【每个节点都要安装】
1.工具介绍
kubeadm是集群部署工具
kubectl是集群管理工具,通过command来管理集群
kubelet的k8s集群每个节点的docker管理服务
2.安装命令
cd …
tar -xvf kube-packages-1.10.1.tar
cd kube-packages-1.10.1
yum install local *.rpm
3.vcgroupfs 报错处理
在所有kubernetes节点上设置kubelet使用cgroupfs,与dockerd保持一致,否则kubelet会启动报错
默认kubelet使用的cgroup-driver=systemd,改为cgroup-driver=cgroupfs
命令:sed -i “s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g” /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
重设kubelet服务,并重启kubelet服务
systemctl daemon-reload && systemctl restart kubelet
4.关闭swap,及修改iptables,不然后面kubeadm会报错
swapoff -a
vi /etc/fstab #swap一行注释
cat < /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
第四步:导入k8s docker镜像【每个节点都要安装】
docker load -i k8s-images-1.10.tar.gz
第五步:master节点部署
init命令注意要指定版本,和pod范围
kubeadm init --kubernetes-version=v1.10.1 --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown
(
i
d
−
u
)
:
(id -u):
(id−u):(id -g) $HOME/.kube/config
注意:记得拷贝join的命令
kubeadm join 192.168.2.106:6443 --token 2y1hek.ylar5hwid2oz9991 --discovery-token-ca-cert-hash sha256:e93a84c3745cbcf77c9945f4a062d6e2cd64f64cf533294c17cb856914493778
第六步:node节点部署
拷贝join命令执行
第七步:在master节点,部署集群flannel网络
kubectl apply -f kube-flannel.yml
第八步:在master节点,查看所有节点的状态
[root@master1 kubernetes1.10]# kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready master 18m v1.10.1
node1 Ready node 18m v1.10.1
ready代表正常。
第九步:物理机或虚拟机,关闭后如何让node加入集群
执行以下2条命令
systemctl daemon-reload & systemctl restart kubelet
常用命令:
systemctl status kubelet //查看状态
systemctl restart kubelet //重启
kubectl create -f *.yaml
kubectl get pod -o wide //查看pod 列表
kubectl get deployment //查看deployment 列表
删除POD
kubectl delete pod PODNAME --force --grace-period=0 # 删除NAMESPACE
kubectl delete namespace NAMESPACENAME --force --grace-period=0
关键字
1227

被折叠的 条评论
为什么被折叠?



