用kubeadm的方法安装k8s:
环境: 三台主机 一台master 俩台node
三台主机的硬件需求:
·最少2G内存
·最少2个CPU

更改hosts文件:

[root@master ~]# cat   /etc/hosts
192.168.3.100   master
192.168.3.150   node1
192.168.3.200   node2

关闭swap和selinux 防火墙(实验环境 ) 并设置swap内核参数
永久关闭swap 注释掉就好

cat  /etc/fstab
#/dev/mapper/cl-swap     swap                    swap    defaults        0 0     

关闭selinux

vim  /etc/selinux/config
SELINUX=disabled   更改成disabled

关闭防火墙:

systemctl stop  firewalld

设置swap内核参数:

vim   /etc/sysctl.conf
vm.swappiness = 0

重新加载

sysctl   -p

设置桥接网:
先加载模块: modprobe br_netfilter

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

重新加载并查看:

sysctl  -p
sysctl -p /etc/sysctl.d/k8s.conf

安装docker三台都需要

yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum makecache fast

yum -y install docker-ce-18.06.3.ce-3.el7

开启服务:

systemctl start   docker  &&systemctl enable  docker

三台都需要安装:

[root@master ~]# cat   /etc/yum.repos.d/kubernetes.repo 
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

下载kubernetes

	yum -y install     kubelet-1.17.0  kubeadm-1.17.0  kubectl-1.17.0

开启服务:

systemctl start   kubelet.service && systemctl enable  kubelet

下载需要的镜像:

docker pull   registry.aliyuncs.com/google_containers/kube-apiserver:v1.17.0

在这里插入图片描述
再把它打标签

docker  tag  k8s.gcr.io/kube-apiserver:v1.17.0    registry.aliyuncs.com/google_containers/kube-apiserver:v1.17.0  

再删除 原来的镜像:

Docker  rmi   registry.aliyuncs.com/google_containers/kube-apiserver:v1.17.0 

下载flannel:

docker   pull   quay.io/coreos/flannel:v0.12.0-adm64

三台主机都需要这样做

三台主机配置网络:

[root@master ~]# mkdir -p /etc/cni/net.d/
[root@master ~]# cat    /etc/cni/net.d/10-flannel.conf
{"name":"cbr0","type":"flannel","delegate":{"isDefaultGateway":true}}
[root@master ~]# mkdir /usr/share/oci-umount/oci-umount.d -p
[root@master ~]# mkdir /run/flannel/
[root@master ~]# cat   /run/flannel/subnet.env 
FLANNEL_NETWORK=10.244.0.0/16
FLANNEL_SUBNET=10.244.0.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true

初始化 在master主机上:

kubeadm  init   --kubernetes-version=v1.17.0 --apiserver-advertise-address  192.168.3.100  --pod-network-cidr  10.244.0.0/16

初始化成功会提示
在这里插入图片描述

mkdir那个需要创建
下载网络的文件:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

查看状态
在这里插入图片描述
在这里插入图片描述
查看token的值:

在这里插入图片描述

把其余俩台节点加入k8s集群

[root@node1 ~]# kubeadm join 192.168.3.100:6443 --token sh3pwm.mhdoft2b4d8jiif4   --discovery-token-ca-cert-hash sha256:ac0a8c3cafc9eaa35996b1f951821a52344060683f11924973ed4b5aae62b0cf 

这条实在初始化完成后会有
在这里插入图片描述
查看集群
在这里插入图片描述
测试:

[root@master ~]# kubectl   create  deployment  nginx   --image=nginx
deployment.apps/nginx created

查看是否启动
kubectl get pod
在这里插入图片描述

[root@master ~]# kubectl  expose  deployment   nginx   --port=80  --type=NodePort

查看映射的端口:
kubectl get pod,svc
在这里插入图片描述
curl一下

curl   http://192.168.2.100:32378

在这里插入图片描述

删除容器:
先删除pod

 kubectl  delete  pod   pod名字

查看名字:kubectl get deployment
删除:

kubectl   delete   deployment   名字
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐