第一课 2020尚硅谷K8s学习-k8s kubeadm安装
程序员文章站
2024-03-13 09:03:57
...
第一课2020尚硅谷K8s学习-k8s kubeadm安装
tags:
- golang
- 2020尚硅谷
categories:
- kubeadm安装
文章目录
第一节 centos7虚拟机的安装
- 安装centos7, 直接选择网络模式NAT模式。(安装时设置主机名)
- 集群配置的说明
- 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多
- 集群中所有机器之间网络互通。
- 可以访问外网,需要拉取镜像(这个可以通过阿里镜像解决,及时配置外网速度也很慢。或者需要拉下来之后手动安装)
- 禁止swap分区(不禁止会报错的)
- 此实验
- k8s-master(192.168.242.129)
- k8s-node1 (192.168.242.130)
- k8s-node2 (192.168.242.131)
第二节 虚拟机中系统环境初始化
# 三台机子同时操作
# 1、关闭防火墙
sudo systemctl stop firewalld && systemctl disable firewalld
# 2、关闭seliunx 前面是临时后面是永久
sudo setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
# 3、关闭swap 如果不关闭 集群会报错 前面是临时后面是永久
swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
# 4、设置主机名
vi /etc/hosts
192.168.242.129 k8s-master
192.168.242.130 k8s-node1
192.168.242.131 k8s-node2
# hosts复制到别的虚拟机
scp /etc/hosts [email protected]:/etc/hosts
# 5、把捋桥接的IPv4流量传递到iptables中
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system # 生效
# 安装依赖包
yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git
# 6、时间同步
yum install ntpdate -y
ntpdate time.windows.com
第三节 所有节点安装Docker
# 1. 安装docker
sudo yum install -y git vim net-tools wget yum-utils
# 2. 配置阿里镜像
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
}
EOF
# 3. 更新源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum clean all && yum makecache fast && yum update
# 4. 查看可用版本 安装指定版本
yum list docker-ce --showduplicates|sort -r
sudo yum install -y docker-ce-18.06.1.ce-3.el7
# 5. 启动
sudo systemctl enable docker && systemctl start docker
# 6. 查看版本
docker version
第四节 添加阿里云Yum源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
第五节 添节点安装kubelet、kubeadm和kubect
# 指定版本安装1.18.0 现阶段最稳定
sudo yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
sudo systemctl restart kubelet && systemctl enable kubelet
第六节 部署Kubernetes集群
# 1. master节点上初始化 使用flannel网络必须设置成这个cidr 这里配置了阿里镜像
kubeadm init \
--apiserver-advertise-address=192.168.242.129 \
--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
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
# 2. 接下来,将初始化结果中的命令复制出来 复制到其他节点
kubeadm join 192.168.242.129:6443 --token 0t5w2t.3oqvg9hvl86uqnr6 \
--discovery-token-ca-cert-hash sha256:306cf095dc9f87479dfbb99f66c396fa3afa22a32d65c5f413574bef10a4494a
# 默认token有效期为24小时,当过期之后,该token就不可用了。这时就需要重新创建token,操作如下:
# kubeadm token create --print-join-command
第七节 配置CNI网络插件
# 1. 安装fannel网络插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
# 如果拉取镜像失败 下载也行 到阿里云去找也行
docker load < flanneld-v0.12.0-amd64.docker
kubectl get pod --all-namespaces
第八节 测试集群是否成功
# 在Kubernetes集群中创建一个pod,验证是否正常运行∶
kubectl create deployment nginx --image=mynginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pod,svc
# 用主节点iP + 映射后的端口http://192.168.242.129:31631/
上一篇: 关于上传文件要踩的坑