搭建k8s集群(平台规划和部署方式介绍)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建k8s集群(平台规划和部署方式介绍)相关的知识,希望对你有一定的参考价值。

参考技术A 1、搭建k8s环境平台规划

2、服务器硬件配置要求
测试环境:
master:2核,内存4g,硬盘20g
node:4核,内存8g,硬盘40g

生产环境:
更高要求

3、搭建集群方式

二搭建k8s集群

1、平台规划和搭建方式介绍

2、使用kubeadm方式搭建kuberneters集群

1. 对操作系统进行初始化操作

# 关闭防火墙
  systemctl stop firewalld
  systemctl disable firewalld

# 关闭selinux
sed -i \'s/enforcing/disabled/\' /etc/selinux/config # 永久
sentenforce 0 # 临时

# 关闭swap
swapoff -a # 临时
sed -ri \'s/.*swap.*/#&/\' /etc/fstab #永久

# 根据规划设置主机名
hostnamectl set-hostname <hostname>

# 在master 添加hosts
cat >> /etc/host <<EOF
172.18.116.233 k8sMaster
172.18.116.232 k8snode
EOF

# 将桥接的IPv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables =1 
net.bridge.bridge-nf-call-iptables =1 
EOF
sysctl --system #生效

# 时间同步
yum install ntpdate -y
ntpdate time.windos.com

2. 安装docker

3.添加阿里云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=1
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

4. 安装kubeadm,kubelet和kubectl

由于版本频繁更新,这里指定版本号

yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
     systemctl enable kubelet

5.部署Kubernetes Master

在master执行

kubeadm init --apiserver-advertise-address=120.24.33.237 --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 --ignore-preflight-errors=NumCPU

6.使用kubectl工具:

      mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

异常处理:

rm -f /etc/kubernetes/kubelet.conf
rm -f /etc/kubernetes/pki/ca.crt

7.部署CNI网络插件

wget https//:raw.githubser.com/coreos/flannel/master/Documentation/kube-flannel.yml

默认镜像地址无法访问,sed命令修改为docker hub镜像仓库。

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

kubectl get pods -n kube-system
NAME                          READY   STATUS    RESTARTS   AGE
kube-flannel-ds-amd64-2pc95   1/1     Running   0          72s

8 .测试kubernetes集群

$ kubectl create deployment nginx --image=nginx
$ kubectl expose deployment nginx --port=80 --type=NodePort
$ kubectl get pod,svc

访问地址:http://NodeIP:Port (阿里云的话可以使用公网ip+对应的端口号访问)

sudo docker run -d \\
  --restart=unless-stopped \\
  --name=kuboard \\
  -p 10080:80/tcp \\
  -p 10081:10081/udp \\
  -p 10081:10081/tcp \\
  -e KUBOARD_ENDPOINT="http://192.168.0.60:10080" \\
  -e KUBOARD_AGENT_SERVER_UDP_PORT="10081" \\
  -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \\
  -v /root/kuboard-data:/data \\
  eipwork/kuboard:v3

以上是关于搭建k8s集群(平台规划和部署方式介绍)的主要内容,如果未能解决你的问题,请参考以下文章

2 二进制方式搭建K8S集群

二搭建k8s集群

k8s集群搭建

kubeadm 搭建多 master 高可用 K8S 集群(亲测)

K8S之001: 概述集群搭建

K8S之001: 概述集群搭建