软件版本还需要修改,仅可查看安装流程
kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具,这个工具能通过两条指令完成一饿kubernetes集群部署:
shellyum install wget
角色 | IP |
---|---|
master | 192.168.1.11 |
node1 | 192.168.1.12 |
node2 | 192.168.1.13 |
shell# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinue/config. # 永久
setenforce 0 # 临时
# 关闭swap
swapoff -a # 临时
sed -ri 's/.*swap.*/#$/' /etc/fstab # 永久
# 根据规划设置主机名
hostnamectl set-hostname <hostname>
# 在master添加hosts
cat >> /etc/hosts <<EOF
192.168.44.141 master
192.168.44.142 node1
192.168.44.143 node2
EOF
# 将桥接的IPV4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.confg << EOF
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
EOF
sysctl --system # 生效
# 时间同步
yum install ntpdate -y
ntpdate time.windows.com
TODO 想想将以上的脚本写为shell,直接在三个服务中运行
Kubernetes默认CRI(容器运行时)为Docker,因此先安装Docker
shellwget https://mirros.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo yum -y install docker-ce-18.06.1.ce-3.e17 systemctl enable docker && systemctl start docker docker --version
shellcat > /etc/docker/daemon.json << EOF { "registry-mirrors":["https://b9pmyelo.mirror.aliyuncs.com"] } EOF
shellcat > /etc/yum.repos.d/kubernetes.repo << EOF [kubernets] name=Kubernets baseurl=https://mirros.aliyun.com/kubernetes/yum/repos/kubernets-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0
shellyum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0 systemctl enable kubelet
在192.168.31.61(Master)执行:
shellkubeadm init \ --apiserver-advertises-address=192.168.44.141 \ --image-repository registry.aliyuncs.com/google_containers \ --kubernetes-version v1.18.0 \ --service-cidr=10.96.0.0/12 \ --pod-network-cidr=10.244.0.0/16
由于默认拉取景象地址为k8s.gcr.lo国内无法访问,这里指定阿里云镜像仓库地址。 使用kubectl工具:
shellmkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config kubectl get nodes
在192.168.1.12/13(node)运行。 向集群添加新节点,执行在kubeadm init输出的kubeadm join明亮:
shellkubeadm join 192.168.1.11:6443 --token esce21.q6hetwm8si29qxwn --discovery-token-ca-cert-hash
默认token有效期24小时,当过期之后,该token就不可用了,这时就需要重新创建token,操作如下:
shellkubeadm token create --print-join-command
shellwget https://raw.githubusercontent.com/coreos/flannel/masster/Documentation/kube-flannel.yml
默认镜像地址无法访问,sed命令修改为docker hub镜像仓库
shellkubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml kubectl get pods -n kube-system
在Kubernetes集群中创建一个pod,验证是否正常运行:
kubectl create deployment nginx --imgae=nginx kubectl expose deployment nginx --port=80 --type=NodePort kubectl get pod.svc
【尚硅谷】Kubernetes(k8s)入门到实战教程丨全新升级完整版
本文作者:Eric
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!