欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第一课 2020尚硅谷K8s学习-k8s kubeadm安装

程序员文章站 2024-03-13 09:03:57
...

第一课2020尚硅谷K8s学习-k8s kubeadm安装

tags:

  • golang
  • 2020尚硅谷

categories:

  • kubeadm安装

第一节 centos7虚拟机的安装

  1. 安装centos7, 直接选择网络模式NAT模式。(安装时设置主机名)
  2. 集群配置的说明
    • 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多
    • 集群中所有机器之间网络互通
    • 可以访问外网,需要拉取镜像(这个可以通过阿里镜像解决,及时配置外网速度也很慢。或者需要拉下来之后手动安装)
    • 禁止swap分区(不禁止会报错的)
  3. 此实验
    • 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/
相关标签: K8S基础学习

上一篇: 关于上传文件要踩的坑

下一篇: