本文共 3010 字,大约阅读时间需要 10 分钟。
Kubernetes集群包含有节点代理kubelet和Master组件(APIs, scheduler, etc),一切都基于分布式的存储系统。下面这张图是Kubernetes的架构图
Kubernetes主要由以下几个核心组件组成:
除了核心组件,还有一些推荐的Add-ons:
本次实验选择5台主机,3台作为master主机,2台作为node节点
节点ip | OS版本 | hostname -f | 安装软件 |
---|---|---|---|
192.168.0.1 | RHEL7.4 | k8s-master01 | docker,etcd,flanneld,kube-apiserver,kube-controller-manager,kube-scheduler |
192.168.0.2 | RHEL7.4 | k8s-master02 | docker,etcd,flanneld,kube-apiserver,kube-controller-manager,kube-scheduler |
192.168.0.3 | RHEL7.4 | k8s-master03 | docker,etcd,flanneld,kube-apiserver,kube-controller-manager,kube-scheduler |
192.168.0.4 | RHEL7.4 | k8s-node01 | docker,flanneld,kubelet,kube-proxy |
192.168.0.5 | RHEL7.4 | k8s-node02 | docker,flanneld,kubelet,kube-proxy |
echo "####Shutdown the firwall####"
systemctl stop firewalld.service systemctl disable firewalld.service echo "####Shutdown the firwall Done####" echo -e "\n"echo "####Set the selinux disable####"
sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config setenforce 0 echo "####Set the selinux disable Done####" echo -e "\n"
hostnamectl --static set-hostname k8s-master01
hostnamectl --static set-hostname k8s-master02 hostnamectl --static set-hostname k8s-master03 hostnamectl --static set-hostname k8s-node01 hostnamectl --static set-hostname k8s-node02cat << EOF >> /etc/hosts
192.168.0.1 k8s-master01 etcd01 192.168.0.2 k8s-master02 etcd02 192.168.0.3 k8s-master03 etcd03 192.168.0.4 k8s-node01 192.168.0.5 k8s-node02 EOF
cat << EOF > /etc/yum.repos.d/docker180902.repo
[docker180902] name=docker180902 baseurl=ftp://192.168.100.193/pub/docker180902/ enabled=1 gpgcheck=0 EOFecho "####install docker####"
yum install -y docker-ce mkdir -p /etc/systemd/system/docker.service.d && tee /etc/systemd/system/docker.service.d/override.conf <<- EOF [Service] ExecStart= ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver=overlay2 EOF systemctl daemon-reload systemctl enable docker && systemctl restart docker echo "####install docker Done####" echo -e "\n"
swapoff -a && sysctl -w vm.swappiness=0
vi /etc/fstab #UUID=7bff6243-324c-4587-b550-55dc34018ebf swap swap defaults 0 0
cat << EOF | tee /etc/sysctl.d/k8s.conf
net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 vm.swappiness = 0 EOF sysctl -p /etc/sysctl.d/k8s.conf
mkdir /k8s/etcd/{bin,cfg,ssl} -p
mkdir /k8s/kubernetes/{bin,cfg,ssl} -p mkdir /k8s/flanneld/ssl -p
ssh-keygen
ssh-copy-id 192.168.0.2 ssh-copy-id 192.168.0.3 ssh-copy-id 192.168.0.4 ssh-copy-id 192.168.0.5
转载地址:http://sakpi.baihongyu.com/