#安装k8s三个基本程序
https://kubernetes.io/docs/setup/independent/install-kubeadm/
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
EOF
# Set SELinux in permissive mode (effectively disabling it)
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
yum install -y kubelet kubeadm kubectl –disableexcludes=kubernetes
systemctl enable –now kubelet
#初始化master/node主机
-由kubeadm帮我们自动安装
kubeadm init --apiserver-advertise-address 0.0.0.0 --pod-network-cidr=10.244.0.0/16
--pod-network-cidr : flannel网络要求设置
-kubeadm初始化完成后,根据提示操作
root用户还需运行命令export KUBECONFIG=/etc/kubernetes/admin.conf
#运行kubectl命令查看是否安装成功
kubectl get pod --all-namespaces
#安装网络插件
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#pod-network
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml
#节点node1加入到集群
kubeadm join 178.128.214.74:6443 --token 3agf5r.okfloxs1qz0kjpyd --discovery-token-ca-cert-hash sha256:e34ef064bd33fcf951a7c6a7b934f18334a169db300dba1e71d06e42d3db1c8a
#节点node2加入到集群
kubeadm join 178.128.214.75:6443 --token 3agf5r.okfloxs1qz0kjpyd --discovery-token-ca-cert-hash sha256:e34ef064bd33fcf951a7c6a7b934f18334a169db300dba1e71d06e42d3db1c8a
#检验两个节点是否已经加入到k8s集群
kubectl get nodes
#在k8s集群中运行httpd服务
kubectl run httpd-app --image=httpd --replicas=2
#查看部署结果
kubectl get deployment
#查看httpd在集群内的ip地址
kubectl get pod -o wide
#在master主机上用命令curl 10.244.2.2访问httpd服务, 外网是无法访问我们的服务的(仅能在三台云主机上访问)
#在master主机执行下面的命令,让我们的httpd服务可以被外网访问
kubectl expose deployment httpd-app --type=NodePort --name=httpd-service --port=8080 --target-port=80
#然后我们用浏览器访问两台node云主机中任意一台的8080端口