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

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

tags:

  • golang
  • 2020尚硅谷

categories:

  • kubeadm安装

文章目录

  • 第一课2020尚硅谷K8s学习-k8s kubeadm安装
    • 第一节 centos7虚拟机的安装
    • 第二节 虚拟机中系统环境初始化
    • 第三节 所有节点安装Docker
    • 第四节 添加阿里云Yum源
    • 第五节 添节点安装kubelet、kubeadm和kubect
    • 第六节 部署Kubernetes集群
    • 第七节 配置CNI网络插件
    • 第八节 测试集群是否成功

第一节 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 root@k8s-node2:/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'
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {"max-size":"500m", "max-file":"2"},
  "registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"],
  # "insecure-registries": ["http://xx.xx.xx.xx:5000"]
}
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/

你可能感兴趣的:(学习,kubernetes,docker)