>운영 및 유지보수 >Docker >k8s 설치 및 배포 단계

k8s 설치 및 배포 단계

Guanhui
Guanhui원래의
2020-06-09 09:48:1315619검색

k8s 설치 및 배포 단계

k8s 설치 및 배포 단계

준비 환경: centos7 서버 3대

192.168.6.129 k8s-master(마스터)

192.168.6.130 k8s-node-1(노드)

192.168.6.131 k8s-node-2(노드)

kubernetes(k8s) 설치 방법

다섯 가지 방법:

  • kubernetes 바이너리 설치(openstack 설치보다 가장 지루한 구성)

  • kubeadm 설치(자동화) Google에서 출시한 설치 도구, 네트워크 요구 사항 적용)

  • minikube 설치 (k8s 경험에만 사용)

  • yum 설치 (가장 간단하고 버전이 상대적으로 낮습니다 ==== 학습에 권장되는 방법입니다)

  • 컴파일 및 설치하러 가기 (가장 어렵다)

우리는 yum을 사용하여 설치하며, k8s 사용법을 배우는 것이 핵심입니다.

1. 호스트 및 호스트 해상도 수정

# 세 대의 시스템에서 다음 작업을 수행하십시오. 129-130-131

vim /etc/hosts:

192.168.6.129 k8s-master
192.168.6.130 k8s-node-1
192.168.6.131 k8s-node-2

호스트 이름 수정:

hostnamectl set-hostname k8s-master
hostnamectl set-hostname k8s-node-1
hostnamectl set-hostname k8s-node-2

2 : Docker 버전 1.12를 설치하세요. 시스템과 함께 제공되는 1.13에는 작은 버그가 있어 수정이 필요합니다. 그렇지 않으면 후속 컨테이너 네트워크 통신이 차단됩니다

[root@k8s-master ~]# yum provides docker
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
2:docker-1.13.1-102.git7f2769b.el7.centos.x86_64 : Automates deployment of
: containerized applicat
Repo : extras
2:docker-1.13.1-103.git7f2769b.el7.centos.x86_64 : Automates deployment of
: containerized applications
Repo : extras
[root@k8s-master ~]#

공식 웹사이트로 이동하여 1.12 버전 docker를 찾으세요

http://vault.centos.org/7.4.1708 /extras/x86_64/Packages/

CentOS-Base.repo 소스를 미리 설치해야 합니다

세 머신 모두 이 세 가지 도커 패키지를 다운로드해야 합니다. :

http://vault.centos.org/7.4.1708/extras/x86_64/Packages/docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm

http: //vault.centos.org/7.4.1708/extras/x86_64/Packages /docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm

http://vault.centos .org/7.4.1708/extras/x86_64/Packages/docker-common- 1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm

[root@k8s-master ~]# ls
docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm
docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm
docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm
[root@k8s-master ~]# scp * 192.168.6.130:~
root@192.168.6.130's password:
docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 15MB 30.7MB/s 00:00
docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 3451KB 29.6MB/s 00:00
docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 83KB 6.9MB/s 00:00
[root@k8s-master ~]# scp * 192.168.6.131:~
root@192.168.6.131's password:
docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 15MB 24.2MB/s 00:00
docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 3451KB 23.3MB/s 00:00
docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm 100% 83KB 5.8MB/s 00:00
[root@k8s-master ~]#

시스템에 설치된 도커를 제거합니다

이후 작성자는 이전에 docker-ce 버전을 설치한 적이 있으므로 완전히 제거해야 합니다(설치하려면 새 머신을 사용하는 것이 좋습니다)

[root@k8s-node-1 ~]# rpm -qa |grep docker
docker-ce-19.03.3-3.el7.x86_64
docker-ce-cli-19.03.3-3.el7.x86_64
[root@k8s-node-1 ~]# rpm -e docker-ce-19.03.3-3.el7.x86_64
[root@k8s-node-1 ~]# rpm -e docker-ce-cli-19.03.3-3.el7.x86_642
[root@k8s-node-1 ~]# rm -rf /var/lib/docker/* 清空之前docker产生的所有文件。
[root@k8s-node-1 ~]# rm -rf /etc/docker/*

3. 세 머신 모두에 docker 1.12를 설치합니다(다음 순서로 설치해야 함). 그렇지 않으면 오류가 보고될 수 있습니다)

yum localinstall docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm -y
yum localinstall docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm -y
yum localinstall docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm -y

4. docker가 성공적으로 설치되었는지 확인합니다

[root@k8s-master ~]# docker -v
Docker version 1.12.6, build 3e8e77d/1.12.6

5. 기본적으로 클러스터링을 지원하는 마스터 노드(k8s 데이터베이스 kv 유형 스토리지)에 etcd를 설치합니다

[root@k8s-master ~]# yum install etcd.x86_64 -y
[root@k8s-master ~]# vim /etc/etcd/etcd.conf
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.6.129:2379"
#启动
[root@k8s-master ~]# systemctl start etcd.service
[root@k8s-master ~]# systemctl enable etcd.service
#测试
#set 设置一队键值 数据存储
[root@k8s-master ~]# etcdctl set testdir/testkey0 xujin
Xujin
#get获取
[root@k8s-master ~]# etcdctl get testdir/testkey0
xujin
[root@k8s-master ~]#
#检测集群状态
[root@k8s-master ~]# etcdctl -C http://192.168.6.129:2379 cluster-health
member 8e9e05c52164694d is healthy: got healthy result from http://192.168.6.129:2379
cluster is healthy
[root@k8s-master ~]#

6. 마스터 노드

[root@k8s-master ~]# yum install kubernetes-master.x86_64 -y
#修改配置文件如下
[root@k8s-master ~]# vim /etc/kubernetes/apiserver
# The address on the local server to listen to.
KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
# The port on the local server to listen on.
KUBE_API_PORT="--port=8080"
# Port minions listen on
KUBELET_PORT="--kubelet-port=10250"
# Comma separated list of nodes in the etcd cluster
KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.6.129:2379"
# default admission control policies
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,Securi
tyContextDeny,ResourceQuota"
#修改config文件
[root@k8s-master ~]# vim /etc/kubernetes/config
KUBE_MASTER="--master=http://192.168.6.129:8080"

7에 kubernetes를 설치합니다. k8s를 시작

# 启动kube-apiserver
#这个服务用来:接受并响应用户的请求
[root@k8s-master ~]# systemctl enable kube-apiserver.service
[root@k8s-master ~]# systemctl start kube-apiserver.service
#启动 kube-controller-manager
#控制管理器的概念,保证容器存活
#每隔一段时间去扫描容器状态,看有没有死了。
#容器死了,会调度apiserver再起一个新的容器
#保证容器的个数,比如我们设定起三个nginx容器,多了就会杀掉,少了就会起
[root@k8s-master ~]# systemctl enable kube-controller-manager.service
[root@k8s-master ~]# systemctl start kube-controller-manager.service
#启动kube-scheduler
#调度器,选择启动容器的node节点,通俗点就是容器在哪一个节点服务器上面创建
[root@k8s-master ~]# systemctl enable kube-scheduler.service
[root@k8s-master ~]# systemctl start kube-scheduler.service

이제 마스터 129 k8s가 설치되었습니다.

추천 튜토리얼: "PHP"

위 내용은 k8s 설치 및 배포 단계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.