安装docker-v19.03.11 安装k8S-V1.18.1

简介: 安装docker-v19.03.11 安装k8S-V1.18.1

环境两台虚拟机

192.168.42.165

master

192.168.42.164

node1

修改主机名

1 修改主机名
2 master虚拟机
3 hostnamectl set-hostname master
4 node1虚拟机
5 hostnamectl set-hostname node1虚拟机
6 #两台机器都要执行
7 1.关闭防火墙
8 systemctl stop firewalld.service 关闭防火墙
9 systemctl disable firewalld.service 关闭防火墙开机自启
10 2.关闭selinux
11 setenforce 0
12 vi /etc/selinux/config
13 SELINUX=后面改成 disabled
14 3.设置华为的docker源
wget -O /etc/yum.repos.d/docker-ce.repo https://repo.huaweicloud.com/docker￾ce/linux/centos/docker-ce.repo
15
sudo sed -i 's+download.docker.com+repo.huaweicloud.com/docker-ce+'
/etc/yum.repos.d/docker-ce.repo
16
17 sudo yum makecache fast
18 4.安装docker-ce docker-ce-cli
19 yum install -y docker-ce-19.03.11 docker-ce-cli-19.03.11
20 5.启动docker设置开机自启并查看docker版本
21 systemctl enable docker --now
22 docker --version
23 6.设置华为k8s源
24 cat <<EOF > /etc/yum.repos.d/kubernetes.repo 
25 [kubernetes]
26 name=Kubernetes 
27 baseurl=https://repo.huaweicloud.com/kubernetes/yum/repos/kubernetes-el7-x86_64
28 enabled=1
29 gpgcheck=1
30 repo_gpgcheck=0
31 gpgkey=https://repo.huaweicloud.com/kubernetes/yum/doc/yum-key.gpg
https://repo.huaweicloud.com/kubernetes/yum/doc/rpm-package-key.gpg 
32 EOF
33 yum clean all
34 yum makecache fast
35 7.更新yum源
36 yum -y update
37 8.安装所需的软件包
38 yum install epel* -y
39 yum -y install yum-utilsdevice-mapper-persistent-data lvm2
40 9.安装基础软件包
41 yum -y install wget net-tools nfs-utils lrzsz gcc gcc-c++make cmake libxml2-devel
openssl-devel curl curl-devel unzip sudo ntplibaio-devel wget vim ncurses-devel
autoconf automake zlib-devel python-devel epel-release openssh-serversocat ipvsadm
conntrack ntpdate
42 10.关闭交换分区
43 swapoff -a
44 #永久禁用,打开/etc/fstab注释掉swap那一行。
45 11.修改内核参数
46 cat <<EOF > /etc/sysctl.d/k8s.conf
47 net.bridge.bridge-nf-call-ip6tables = 1
48 net.bridge.bridge-nf-call-iptables = 1
49 EOF
50 sysctl --system
51 12.配置hosts文件
52 192.168.42.165 master
53 192.168.42.164 node1
54 13.配置master到node1免密登录
55 在master上操作
56 ssh-keygen -t rsa #一直按回车
57 cd /root && ssh-copy-id -i .ssh/id_rsa.pub root@node1
58 14.安装kubernetes1.18.1
59 yum install kubeadm-1.18.1 kubelet-1.18.1 -y
60 systemctl enable kubelet
61 15.初始化k8s集群
62 kubeadm init --apiserver-advertise-address=192.168.30.128
63 --image-repository
64 registry.aliyuncs.com/google_containers --kubernetes-version
65 v1.18.1 --service-cidr=10.96.0.0/12
66 --pod-network-cidr=10.244.0.0/16
67 mkdir -p $HOME/.kube
68 cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
69 chown $(id -u):$(id -g) $HOME/.kube/config
70 kubectl get nodes
71 [root@master ~]# kubectl get nodes
72 NAME STATUS ROLES AGE VERSION
73 master NotReady master 106m v1.18.1
74 [root@master ~]# kubeadm token generate
75 cgbo1c.hfnvut9rkh89iq81 记住这个把下面token 后面的换成这个
76 [root@master ~]# kubeadm token create cgbo1c.hfnvut9rkh89iq81 --print-join-command --
ttl=0
77 W0930 19:19:52.461302 10455 configset.go:202] WARNING: kubeadm cannot validate
component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
78 kubeadm join 192.168.42.165:6443 --token cgbo1c.hfnvut9rkh89iq81 --discovery-token￾ca-cert-hash sha256:6afe10ddbde08d927f08c7c7e64efe5f10bb80ae291a0d9313a0692a04d4b363
79 #记住上面最后输出的命令在node1点执行
80 #node1执行
81 kubeadm join 192.168.42.165:6443 --token cgbo1c.hfnvut9rkh89iq81 --discovery-token￾ca-cert-hash sha256:6afe10ddbde08d927f08c7c7e64efe5f10bb80ae291a0d9313a0692a04d4b363
82 kubectl label node node1(节点名称) node-role.kubernetes.io/worker=worker
83 #然后master 输入 kubectl get nodes
84 [root@master ~]# kubectl get nodes
85 NAME STATUS ROLES AGE VERSION
86 master Ready master 135m v1.18.1
87 node1 Ready worker 60m v1.18.1
88
89 #创建一个命名空间为Nginx-web
90 [root@master ~]# kubectl create namespace nginx-web #nginx-web空间名字
91 namespace/nginx-web created
92
93 #运行pod
94 kubectl run nginx-pod -n nginx-web --image=nginx --port=80
95
96 -n命名空间
97 --image 指定的镜像
98 --port 暴露的端口
99
100 kubectl expose pod nginx-pod -n nginx-web --port=80 --type=ClusterIP --target-port=80
--name=nginx-server
101
102 --port=80 指定端口
103 --target-port=80 目标端口
104 --name=nginx-server 新创建的service名字
105 -n 指定要加入的命名空间
106
107 kind 允许您指定要定义的 Kubernetes 对象的类型
108
109 #创建hostpath卷
110 [root@master ~]# cat hostpath.yaml 
111 apiVersion: v1
112 kind: Pod
113 metadata:
114 name: test-pd #pod名字
115 spec:
116 containers:
117 - images: nginx #镜像
118 name: test-container #容器名字
119 volumeMounts:
120 - mountPath: /test #容器内部路径
121 name: test-volume
122 volumes:
123 - name: test-volume
124 hostPath:
125 path: /data 宿主机目录
126 type: DirectoryOrCreate
127
128
129 #创建nfs持久卷
130 master搭建nfs
131
132 node1挂载
133
134 [root@master ~]# cat nfs.yaml 
135 apiVersion: v1
136 kind: Pod
137 metadata:
138 name: test-nfs
139 spec:
140 containers:
141 - image: nginx
142 name: test-container
143 volumeMounts:
144 - mountPath: /testxiaole #容器内路径
145 name: test-volume
146 volumes:
147 - name: test-volume
148 nfs:
149 server: 192.168.30.128 #服务器地址
150 path: /opt/xiaole #容器外路径
151
152 yaml编排创建命名空间 web
153 [root@master ~]# cat createweb.yaml 
154 apiVersion: v1
155 kind: Namespace
156 metadata:
157 name: web
158


相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
4月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
2月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
348 3
docker 安装 Postgres 17.6
|
1月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
332 5
|
1月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
328 2
|
5月前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
639 4
|
4月前
|
Linux Docker Windows
windows docker安装报错适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续。可通过运行 “wsl.exe --update” 进行更新。
适用于 Linux 的 Windows 子系统需更新至最新版本(如 wsl.2.4.11.0.x64.msi)以解决 2025 年 Windows 更新后可能出现的兼容性问题。用户可通过运行 “wsl.exe --update” 或访问提供的链接下载升级包进行更新。
1667 0
|
5月前
|
Linux iOS开发 Docker
MyEMS开源系统安装之Linux/macOS上的DOcker
本指南详细介绍了如何在Linux/macOS上使用Docker部署MyEMS系统。主要内容包括:前置条件(如安装Docker、npm和MySQL),以及分步骤部署各个组件(如myems-api、myems-admin、myems-modbus-tcp等)。每个步骤涵盖源代码复制、环境配置、镜像构建、容器运行及日志管理等操作,并提供了多平台构建的支持。最后,指南还说明了默认端口和登录凭据,帮助用户快速启动并访问MyEMS的管理界面和Web界面。
186 1
下一篇
oss云网关配置