Rumah Operasi dan penyelenggaraan Docker k8s 安装部署步骤

k8s 安装部署步骤

Jun 09, 2020 am 09:48 AM
docker

k8s 安装部署步骤

k8s 安装部署步骤

准备环境:三台centos7 服务器

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 安装 (谷歌推出的自动化安装工具,网络有要求)

  • minikube 安装 (仅仅用来体验k8s)

  • yum 安装 (最简单,版本比较低====学习推荐此种方法)

  • go编译安装 (最难)

我们采用yum安装,学习怎么使用k8s才是重点。

1、修改主机和host 解析

#请在129-130-131三台机器都执行如下操作

vim /etc/hosts:

1

2

3

192.168.6.129 k8s-master

192.168.6.130 k8s-node-1

192.168.6.131 k8s-node-2

Salin selepas log masuk

修改主机名:

1

2

3

hostnamectl set-hostname k8s-master

hostnamectl set-hostname k8s-node-1

hostnamectl set-hostname k8s-node-2

Salin selepas log masuk

2: 安装docker 1.12版本,系统自带的1.13有点小bug,需要修改,不然后期容器网络通讯会不通

1

2

3

4

5

6

7

8

9

10

11

12

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 ~]#

Salin selepas log masuk

去官网找1.12版本docker

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

需要提前安装 CentOS-Base.repo源

三台机器都需要下载这三个docker包:

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

[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 ~]#

Salin selepas log masuk

卸载系统已经安装的docker

由于笔者前面安装有docker-ce版本,需要全部卸载干净(推荐你使用全新的机器安装)

1

2

3

4

5

6

7

[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/*

Salin selepas log masuk

3、在三台都安装docker 1.12(必须要按如下顺序安装,不然可能会报错)

1

2

3

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

Salin selepas log masuk

4、验证docker 是否安装成功

1

2

[root@k8s-master ~]# docker -v

Docker version 1.12.6, build 3e8e77d/1.12.6

Salin selepas log masuk

5、master节点安装etcd (k8s数据库kv类型存储)原生支持做集群

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

[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 ~]#

Salin selepas log masuk

6、master节点安装kubernetes

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

[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"

Salin selepas log masuk

7、启动k8s

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

# 启动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

Salin selepas log masuk

到此主master 129 k8s安装好了。

推荐教程:《PHP

Atas ialah kandungan terperinci k8s 安装部署步骤. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara keluar dari bekas dengan Docker Cara keluar dari bekas dengan Docker Apr 15, 2025 pm 12:15 PM

Empat cara untuk keluar dari Docker Container: Gunakan Ctrl D di terminal kontena masukkan perintah keluar di terminal kontena Gunakan Docker Stop & lt; container_name & gt; Perintah Gunakan Docker Kill & lt; container_name & gt; Perintah di terminal tuan rumah (keluar kuasa)

Cara menyalin fail di Docker ke luar Cara menyalin fail di Docker ke luar Apr 15, 2025 pm 12:12 PM

Kaedah untuk menyalin fail ke tuan rumah luaran di Docker: Gunakan arahan CP Docker: Jalankan Docker CP [Options] & lt; Container Path & GT; & lt; PATH HOST & GT;. Menggunakan jumlah data: Buat direktori pada tuan rumah, dan gunakan parameter -V parameter untuk memasang direktori ke dalam bekas apabila membuat bekas untuk mencapai penyegerakan fail bidirectional.

Cara memeriksa nama bekas Docker Cara memeriksa nama bekas Docker Apr 15, 2025 pm 12:21 PM

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").

Cara memulakan semula Docker Cara memulakan semula Docker Apr 15, 2025 pm 12:06 PM

Cara memulakan semula bekas Docker: Dapatkan ID Container (Docker PS); Hentikan bekas (Docker Stop & lt; container_id & gt;); Mulakan bekas (Docker Start & lt; container_id & gt;); Sahkan bahawa permulaan semula berjaya (Docker PS). Kaedah lain: Docker mengarang (Docker-Compose Restart) atau Docker API (lihat Dokumentasi Docker).

Cara Memulakan MySQL oleh Docker Cara Memulakan MySQL oleh Docker Apr 15, 2025 pm 12:09 PM

Proses memulakan MySQL di Docker terdiri daripada langkah -langkah berikut: Tarik imej MySQL untuk membuat dan memulakan bekas, tetapkan kata laluan pengguna root, dan memetakan sambungan pengesahan port Buat pangkalan data dan pengguna memberikan semua kebenaran ke pangkalan data

Cara mengemas kini imej Docker Cara mengemas kini imej Docker Apr 15, 2025 pm 12:03 PM

Langkah -langkah untuk mengemas kini imej Docker adalah seperti berikut: Tarik tag imej terkini imej baru memadam imej lama untuk tag tertentu (pilihan) mulakan semula bekas (jika diperlukan)

Cara membuat bekas untuk Docker Cara membuat bekas untuk Docker Apr 15, 2025 pm 12:18 PM

Buat bekas di Docker: 1. Tarik Imej: Docker Pull [Nama Cermin] 2. Buat bekas: Docker Run [Options] [Mirror Name] [Command] 3. Mulailah bekas: Docker Start [Nama Container]

Cara Memulakan Bekas oleh Docker Cara Memulakan Bekas oleh Docker Apr 15, 2025 pm 12:27 PM

Docker Container Startup Langkah: Tarik Imej Bekas: Run "Docker Pull [Mirror Name]". Buat bekas: Gunakan "Docker Buat [Pilihan] [Nama Mirror] [Perintah dan Parameter]". Mulakan bekas: Jalankan "Docker Start [Nama Container atau ID]". Semak Status Kontena: Sahkan bahawa bekas sedang berjalan dengan "Docker PS".

See all articles