Kubernetes集群部署

一、docker环境安装

1.安装yum工具类

yum install -y yum-utils

2.配置yum源

yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo

3.安装docker 

#最新版本
yum install -y docker-ce docker-ce-cli containerd.io

#指定版本
yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6

4.启动

systemctl enable docker --now



#检测docker启动是否成功
docker info

5.配置加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<- 'EOF'
{
  "registry-mirrors":["https://82m9ar63.mirror.aliyuncs.com"],
  "exec-opts":["native.cgroupdriver=systemd"],
  "log-opts":{
      "max-size": "100m"  
   },
   "storage-driver": "overlay2"

}

EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

#需要修改一下镜像加速地址

二、 基础环境设置

#各个机器设置自己的域名
hostnamectl set-hostname xxxx

# 将SELinux 设置为permissive模式 (临时)
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SETINUX=permisive/' /etc/selinux/config

# 关闭swap
swapoff -a

sed -ri 's/.*swap.*/#&/' /etc/fstab

#允许 iptables 检查桥接流量

cat <

三、 安装kubelet、kubeadm、bubectl

1.配置kubernetes源为阿里的yum源,并且启动kubelet

#配置kubernetes源为阿里的yum源

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF


yum install -y kubelet-1.20.9 kubeadm-1.20.9 kubectl-1.20.9 --disableexcludes=kubernets


sudo systemctl enable --now kubelet

2. 使用kubeadm引导集群

2.1.下载各个机器需要的镜像

sudo tee ./images.sh <<-'EOF'
#!/bin/bash
images=(
kube-apiserver:v1.20.9
kube-proxy:v1.20.9
kube-controller-manager:v1.20.9
kube-scheduler:v1.20.9
coredns:1.7.0
etcd:3.4.13-0
pasue:3.2
)
for imageName in ${images[@]};do 
docker pull registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images/$imageName
done
EOF

chmod +X ./images.sh && ./images.sh

2.2.域名映射

#所有机器执行,ip和域名需要修改成自己的
echo "172.31.0.2" cluster-endpoint" >> /etc/hosts

#主节点初始化,image-repository地址需要修改为自己的


kubeadm init \
  --apiserver-advertise-address=172.31.0.2 \
  --control-plane-endpoint=cluster-endpoint
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.20.9 \
  --service-cidr=10.96.0.0/16 \
  --pod-network-cidr=192.168.0.0/16


#注意所有网络范围不重叠

2.3.执行成功后的界面中的命令要注意

  • 设置.kube/config
  • 安装网络组建
    curl https://docs.projectcalico.org.manifests/calico.yaml -O
    
    kubectl apply -f calico.yaml
  • 加入node节点
    sudo kubeadm join cluster-endpoint:6443 --token 5ezixq.itmxvdgey8uduysr \
            --discovery-token-ca-cert-hash sha256:d641cec650bdee479a3e7479b558ab68886f7c41ef89f2857099776ed72bcaae
    
    
    #这个令牌的有效期是24小时
    
  • 新令牌

  • kubeadm token create --print-join-command

  • 命令

#查看集群所有节点
kubectl get nodes

#根据配置文件,给集群创建资源
kubectl apply -f xxxx.yaml

#查看集群部署了哪些应用 
docker ps === kubectl get pod -A
# 运行中的应用在docke里面叫容器,在k8s里面叫Pod

三、可视化界面dashboard(一下命令都是在master节点执行)

1.部署

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta5/aio/deploy/recommended.yaml

#如果访问不了该 yaml 文件,请使用下面的命令,效果是等价的

kubectl apply -f https://kuboard.cn/install-script/k8s-dashboard/v2.0.0-beta5.yaml

2.设置访问端口

kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard

修改type: ClusterIP 改为 type:NodePort

#执行这个命令获取到dashboard的访问端口
kubectl get svc -A | grep kubernetes-dashboard

3.登录然后访问,需要获取访问令牌

你可能感兴趣的:(kubernetes,运维)