Kubernetes 두 가지 설치 방법 -kubeadm 설치

목차

kubeadm 배포 방법 소개

설치 요구 사항

최종 목표

조직

시스템 초기화

방화벽 끄기

 두 개의 가까운 selinux

세 종가 스왑

네 호스트 이름 설정

5 개의 호스트를 마스터에 추가합니다.

여섯째, 브리지 된 IPv4 트래픽을 iptables로 전달하는 체인 :

7 시간 동기화

8. 모든 노드에 Docker / kubeadm / bubelet 설치


kubeadm 배포 방법 소개

Kubeadm은 공식 커뮤니티에서 출시 한 kubernetes 클러스터를 신속하게 배포하기위한 도구입니다.이 도구는 다음 두 가지 지침에 따라 Kubernetes 클러스터 배포를 완료 할 수 있습니다.

먼저 마스터 노드 kubeadm init를 만듭니다.

둘째, 노드 노드를 현재 클러스터에 가입합니다. $ kubeadm join <마스터 노드의 IP 및 포트>

 

설치 요구 사항

시작하기 전에 Kubernetes 클러스터 머신의 배치는 Kubernetes 클러스터 배치를위한 전제 조건 인 다음 조건을 충족해야합니다. 그렇지 않으면 설치에 성공할 수 없습니다.

1 하나 이상의 시스템, 운영 체제 CentOS7.x-86_x64

2 하드웨어 구성 : 2GB 이상 RAM, 2 CPU 이상 CPU, 하드 디스크 30GB 이상

3 클러스터의 모든 시스템 간의 네트워크 통신

4 외부 네트워크에 액세스 할 수 있으며 거울을 당겨야합니다.

5 스왑 파티션 금지

최종 목표

1 모든 노드에 Docker 및 kubeadm 설치

2 Kubernetes 마스터 배포

3 컨테이너 네트워크 플러그인 배포

4 Kubernetes 노드 배포 및 Kubernetes 클러스터에 노드 추가

조직

 

이 경우 클러스터 kubernetes를 배포하려면 3 개의 서버가 필요합니다. 여기에서는 가상 머신 배포를 사용합니다. 각 가상 머신의 해당 역할은 다음과 같습니다.

k8s- 마스터 192.168.30.128

k8s-node1 192.168.30.129

k8s-node2 192.168.30.130

시스템 초기화

방화벽 끄기

systemctl stop firewalld
systemctl disable firewalld

 두 개의 가까운 selinux

sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久
setenforce 0

세 종가 스왑

swapoff -a #临时
vim /etc/fstab  #永久  注释掉文件中swap行

네 호스트 이름 설정

hostnamectl set-hostname xxx   # 不同虚拟机设置不同的主机名

5 개의 호스트를 마스터에 추가합니다.

cat >> /etc/hosts << EOF 
192.168.30.128 k8s-master 
192.168.30.129 k8s-node1 
192.168.30.130 k8s-node2 
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 # 生效

7 시간 동기화

yum install ntpdate -y
ntpdate time.windows.com

8. 모든 노드에 Docker / kubeadm / bubelet 설치

Kubernetes 기본 CRI (컨테이너 런타임)는 Docker이므로 먼저 Docker를 설치하십시오.

  • 1 Docker 설치
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce-18.06.1.ce-3.el7
# Step 4: 开启Docker服务
sudo service docker start
  • 2 Alibaba Cloud yum 소프트웨어 소스 추가
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://gk0lyeuc.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
  • 3 kubernetes 소스 추가
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

  • 4 kubeadm, kubelet 및 kubectl 설치
yum install -y kubelet-1.16.0 kubeadm-1.16.0 kubectl-1.16.0
systemctl enable kubelet
  • 5 Kubernetes Master 배포
kubeadm init --apiserver-advertise-address=192.168.30.128 --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

중국에서는 기본 풀 미러 주소 k8s.gcr.io에 액세스 할 수 없으므로 여기에 Alibaba Cloud 미러웨어 하우스 주소를 지정하십시오.

5.1 kubectl 도구 사용

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes
  • 6 개의 설치 포드 네트워크 플러그인
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
  • Seven은 Kubernetes 노드에 가입

192.168.30.129/130 (노드)에서 클러스터에 새 노드를 추가하고 kubeadm init에서 kubeadm join 명령 출력을 실행합니다.

kubeadm join 192.168.30.128:6443 --token esce21.q6hetwm8si29qxwn \ 
--discovery-token-ca-cert-hash sha256:00603a05805807501d7181c3d60b478788408cfe6cedefedb1f97569708be9c5
  • 8 개의 테스트 Kubernetes 클러스터

Kubernetes 클러스터에서 포드를 만들고 정상적으로 실행 중인지 확인합니다.

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

방문 주소 : http : // NodeIP : Port

보시다시피 kubeadm은 클러스터를 성공적으로 구축하고 포드 노드를 생성했으며 정상적으로 액세스 할 수 있습니다.

 

추천

출처blog.csdn.net/Lixuanshengchao/article/details/109271298