#安装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端口


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回