Kubernetes环境部署

简介

Kubernetes 是一个开源系统,用于容器化应用的自动部署、扩缩和管理。它将构成应用的容器按逻辑单位进行分组以便于管理和发现。

配置镜像源

Debian / Ubuntu

apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update

CentOS / RHEL / Fedora

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
setenforce 0

以centos为例搭建环境

1.安装:按照顺序

yum install kubelet-1.13.12-0
yum install kubectl-1.13.12-0
yum install kubeadm-1.13.12-0

2.安装后执行如下命令,先查看需要的镜像文件:

kubeadm config images list
-----------------------------
k8s.gcr.io/kube-apiserver:v1.13.12
k8s.gcr.io/kube-controller-manager:v1.13.12
k8s.gcr.io/kube-scheduler:v1.13.12
k8s.gcr.io/kube-proxy:v1.13.12
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.2.24
k8s.gcr.io/coredns:1.2.6

3.导入并配置对应的镜像文件

docker load -i registry.aliyuncs.com.google_containers.kube-apiserver.tar
docker image ls
tag f07fae2c3e6a k8s.gcr.io/kube-apiserver:v1.13.12
docker load -i registry.aliyuncs.com.google_containers.kube-controller-manager.tar
docker image ls
docker tag 90fd4a237264 k8s.gcr.io/kube-controller-manager:v1.13.12
docker load -i registry.aliyuncs.com.google_containers.kube-scheduler.tar
docker image ls
docker tag 54f3185a42a5 k8s.gcr.io/kube-scheduler:v1.13.12
docker load -i registry.aliyuncs.com.google_containers.kube-proxy.tar
docker image ls
docker tag 4022daa30d3e k8s.gcr.io/kube-proxy:v1.13.12
docker load -i registry.aliyuncs.com.google_containers.pause.tar
docker image ls
docker tag da86e6ba6ca1 k8s.gcr.io/pause:3.1
docker load -i registry.aliyuncs.com.google_containers.etcd.tar
docker image ls
docker tag 3cab8e1b9802 k8s.gcr.io/etcd:3.2.24
docker load -i registry.aliyuncs.com.google_containers.coredns.tar
docker image ls
docker tag f59dcacceff4 k8s.gcr.io/coredns:1.2.6

4.导入并修改好镜像名后执行

kubeadm init --pod-network-cidr=10.244.0.0/16

5.若出现报错

6.执行如下命令

 kubeadm init --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=swap

7.执行后若出现报错:

8.需要查看日志:

journalctl --no-page -xeu kubelet--或者
journalctl --no-page -xeu kubelet|grep swap

9.查看配置文件:

cd  /usr/lib/systemd/system/kubelet.service.d
[[email protected] kubelet.service.d]# ls
10-kubeadm.conf

10.找出配置文件中环境配置文件路径

EnvironmentFile=-/etc/sysconfig/kubelet

11.修改环境配置文件:

KUBELET_EXTRA_ARGS="--fail-swap-on=false"

12.重启kubeadm

kubeadm reset

13.再次执行

kubeadm init --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=swap

14.环境搭建成功

Your Kubernetes master has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

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

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

You can now join any number of machines by running the following on each node
as root:

  kubeadm join 192.168.4.131:6443 --token ft7m0e.i9z5x43zbaa1yk55 --discovery-token-ca-cert-hash sha256:4b3a2b2a4a164ca270d4173169eda4ec707ad16653387e6960185dcb76832837

原文地址:https://www.cnblogs.com/mingfan/p/12081699.html

时间: 2024-11-10 19:37:11

Kubernetes环境部署的相关文章

kubernetes学习与实践篇(二) kubernetes1.5 的安装和集群环境部署

kubernetes 1.5 的安装和集群环境部署 文章转载自:http://www.cnblogs.com/tynia/p/k8s-cluster.html 简介: Docker:是一个开源的应用容器引擎,可以为应用创建一个轻量级的.可移植的.自给自足的容器. Kubernetes:由Google开源的Docker容器集群管理系统,为容器化的应用提供资源调度.部署运行.服务发现.扩容缩容等功能. Etcd:由CoreOS开发并维护的一个高可用的键值存储系统,主要用于共享配置和服务发现. Fla

Kubernetes应用部署策略实践

几个概念: Pod:是Kubernetes最基本的部署调度单元,可以包含container,逻辑上表示某种应用的一个实例.比如一个web站点应用由前端.后端及数据库构建而成,这三个组件将运行在各自的容器中,那么我们可以创建包含三个container的pod. node: 是 Kubernetes的worker节点,通常也称作为Minion node.除了运行一些kubernetes的组件以外(kubelet, kube-proxy等),还承担着运行容器服务的重任. ReplicationCont

Kubernetes环境下如何运行Coherence缓存集群

Oracle官方出了一个如何在Docker环境下运行Coherence的技术文档,大家可以参考: https://github.com/oracle/docker-images/tree/master/OracleCoherence 但是对于一个熟悉Coherence的老司机来说,简单搭建起来只是个初步方案,在客户的环境总是各种特性和定制化配置,所以本文研究的也是如何将已经客户化的Coherence架构构建在Kubernetes开源框架上. 背景架构说明 话不多说,找一个客户的典型的Cohere

Centos下Kubernetes+Flannel部署(新)

一.准备工作 1) 三台centos主机 k8s master: 10.11.151.97  tc-151-97 k8s node1: 10.11.151.100  tc-151-100 k8s node2: 10.11.151.101  tc-151-101 2)程序下载(百度网盘) k8s-1.1.3,Docker-1.8.2,ETCD-2.2.1,Flannel-0.5.5 二.ETCD集群部署 ETCD是k8s集群的基础,可以单结点也可以以集群的方式部署.本文以三台主机组成ETCD集群进

[译]Kubernetes 分布式应用部署和人脸识别 app 实例

原文地址:KUBERNETES DISTRIBUTED APPLICATION DEPLOYMENT WITH SAMPLE FACE RECOGNITION APP 原文作者:skarlso 译文出自:掘金翻译计划 好的,伙计,让我们静下心来.下面将会是一个漫长但充满希望和有趣的旅程. 我将使用 Kubernetes 部署分布式应用程序.我试图创建一个类似于真实世界 app 的应用程序.显然,由于时间和精力有限,我不得不忽略一些细节部分. 我的重点将放在 Kubernetes 和应用部署上.

kubernetes中部署Heketi和GlusterFS(二)

kubernetes中部署Heketi和GlusterFS(二)在上一节中,Heketi的部署方式还不能用于生产环境,因为Heketi Pod的数据并没有持久化,容易导致heketi的数据丢失,Heketi的数据保存在/var/lib/heketi/heketi.db文件中,因此需要把此目录挂载到GlusterFS分布式存储中. 按照上一节的步骤,执行heketi-cli topology load --json=topology-sample.json $ echo $HEKETI_CLI_S

《.NETer提高效率——环境部署》

初衷 兵马未动,粮草先行. 电脑坏了or换工作等需要重装系统. 开发运维一把梭. 与时俱进. 记忆力差,需要文字记录. 因为懒... 目的 通过学习 Linux+docker+kubernetes+CI/CD 完成 .net core 所需环境的搭建和实际高可用部署运行,减少弯路的时间. 感谢 本篇非一日之功,在实际操作中也借鉴吸收了很多过来人的经验,会在章节小节头部特别鸣谢. 阅读对象 所有愿意尝试docker+kubernetes的人员. 特别说明 本人为.NETer,本篇是以自身需求为选择

Helm, 在Kubernetes中部署应用的利器

一.背景 Kubernetes(k8s)是一个基于容器技术的分布式架构领先方案.它在Docker技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性.在容器云环境及容器化服务在业界开始大规模部署应用的前提下,Kubernetes在业界的实际应用情况又是怎样的呢?在今年召开的JFrog SwampUp用户大会上,Codefresh公司为大家展示了一些有意思的数据.如下图: 据Codefresh公司统计,在目前JFrog的企业用户当

Spark on K8S环境部署细节

Spark on K8S环境部署细节 sparkk8s time: 2020-1-3 Spark on K8S环境部署细节 Spark operator安装 准备kubectl客户端和Helm客户端 安装spark operator Spark wordcount 读写OSS 准备oss依赖的jar包 准备core-site.xml 打包支持读写oss的镜像 下载spark安装包解压 打包发布镜像 准备wordcount作业 1. spark submit 提交 2. spark operato