`
hpgary
  • 浏览: 82743 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

kubernetes 安装手册

 
阅读更多

一、简介

Kubernetes是用于自动化部署,扩容和管理集装箱化应用程序的开源系统。

学习kubernetes技术基础:

必会Docker,会写Dockerfile和Linux日常使用,如果这两个技能不熟,可以先学习这两个技能。

二、安装

a、配置kubernetes yum源:

vim /etc/yum.repos.d/kubernetes.repo 

[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
       https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg

b、配置docker-engine源:

vim /etc/yum.repos.d/mritd.repo

[mritdrepo]
name=Mritd Repository
baseurl=https://yum.mritd.me/centos/7/x86_64
enabled=1
gpgcheck=0
gpgkey=https://cdn.mritd.me/keys/rpm.public.key

 

c、安装Docker

 

yum install -y docker-engine
d、启动Docker

 

 

systemctl enable docker 
systemctl start docker 
 e、查看docker info

 

 

docker info

 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.107-RHEL7 (2016-06-09)
Logging Driver: journald
#特别关注这一行,如果是cgroupfs就正常了,不是就重启下电脑
Cgroup Driver: cgroupfs
 f、安装kubernetes

 

 

yum install -y kubeadm kubectl kubelet kubernetes-cni
g、关闭selinx

 

 

setenforce 0
 永久关闭

 

 

vi /etc/selinux/config
 

 

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of three two values:

#     targeted - Targeted processes are protected,

#     minimum - Modification of targeted policy. Only selected processes are protected.

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted

h、关闭防火墙

 

systemctl disable firewalld
systemctl stop firewalld
i、修改root目录下的.bathrc文件

 

# .bashrc

# User specific aliases and functions

 

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

 

# Source global definitions

if [ -f /etc/bashrc ]; then

. /etc/bashrc

fi

export KUBECONFIG=/etc/kubernetes/admin.conf

 

j、添加两条开机启动命令
vi /etc/rc.d/rc.local

touch /var/lock/subsys/local

echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables

echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables

 

设置文件开机启动

 chmod +x /etc/rc.d/rc.local

 

k、重启电脑

 

reboot
三、初始化kubernater

 

a、修改启动参数:

vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

[Service]

Environment="KUBELET_KUBECONFIG_ARGS=--kubeconfig=/etc/kubernetes/kubelet.conf --require-kubeconfig=true"

Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true"

Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"

Environment="KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10 --cluster-domain=cluster.local"

Environment="KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt"

Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs"

# 1.9 后加下面这行

Environment="KUBELET_EXTRA_ARGS=--v=2 --fail-swap-on=false --pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0"

 

ExecStart=

ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_CADVISOR_ARGS $KUBELET_CGROUP_ARGS $KUBELET_EXTRA_ARGS

 

b、初始化kubernetes

  1.9 以上需要关闭swap,使用命令  swapoff -a

/**k8s 下载国内镜像*/

export KUBE_REPO_PREFIX=registry.cn-hangzhou.aliyuncs.com/google-containers
 export KUBE_HYPERKUBE_IMAGE=registry.cn-hangzhou.aliyuncs.com/google-containers/hyperkube-amd64 
 export  KUBE_DISCOVERY_IMAGE=registry.cn-hangzhou.aliyuncs.com/google-containers/kube-discovery-amd64
export KUBE_ETCD_IMAGE=registry.cn-hangzhou.aliyuncs.com/google-containers/etcd-amd64

 

 

kubeadm init --kubernetes-version=v1.7.5
 c、启动kubernetes

 

systemctl start kubelet
systemctl enable kubelet

 

d、让Master节点也成为工作节点

kubectl taint nodes --all node-role.kubernetes.io/master-

e、安装 kubernets 网络

kubectl apply -f https://git.io/weave-kube-1.6

f、 然后就等待b步的初始化工作完成,可以使用命令查看kuberlet状态

kubectl get pods --all-namespaces
kubectl get nodes
kubectl get all

 

 四、helloword程序

准备文件 hello.yaml

```apiVersion: v1

kind: Pod

metadata:

  name: nginx

  labels:

     app: nginx    

spec:

     containers:

        - name: nginx

          image: nginx

          imagePullPolicy: IfNotPresent

          ports:

          - containerPort: 80

     restartPolicy: Always

---

apiVersion: v1

kind: Service

metadata:

  name: nginx-service

spec:

  type: NodePort

  sessionAffinity: ClientIP

  selector:

    app: nginx

  ports:

    - port: 80

      nodePort: 30080

```

启动helloword.yaml

kubelet create -f hello.yaml

 

启动完成后,可访问http://linuxip:30080/  访问

kubernetes 常用命令:

kubectl get pods --all-namespaces
kubectl get nodes
kubectl get all
kubectl get pod

kubectl create -f hello.yaml

 

 

 

 
分享到:
评论

相关推荐

    Kubernetes安装手册(非高可用版).md

    适合新手部署实验

    kubernetes安装手册.txt

    一步一步安装kubernetes, 步骤比较详细, 适合新手

    Kubernetes安装手册(非高可用版) 简易上手

    Kubernetes安装手册(非高可用版)简易上手

    Kubernetes安装手册_v1.9.0

    ### Kubernetes v1.9.0 离线安装详解 #### 概述 本文档旨在为读者提供一个详细的Kubernetes v1.9.0离线安装教程,特别针对那些在网络受限环境中部署Kubernetes集群的场景。Kubernetes是目前最流行的容器编排系统之...

    kubernetes安装部署手册

    Kubernetes的安装部署手册是IT运维人员和开发者在部署Kubernetes集群时的重要参考资料。手册中介绍了Kubernetes的架构、核心组件以及如何部署Kubernetes集群。接下来将详细描述这些内容。 ### 容器编排工具 ...

    UOS服务器操作系统kubernetes部署手册

    UOS服务器操作系统kubernetes部署手册 适用操作系统:UOS服务器操作系统1xxxA和1xxxE 统信服务器操作系统

    Kubernetes部署手册

    Kubernetes的部署涉及多个方面,包括系统要求、安装步骤、配置说明等。在安装过程中,用户需要考虑集群的网络配置、存储设置以及安全机制,以确保集群的高可用性和稳定性。此外,Kubernetes本身也支持高可用架构,...

    Kubernets安装部署.md

    Kubernetes安装详细部署 一、环境说明 二、创建TLS证书和密钥 三、创建kubeconfig文件 四、创建高可用etcd集群 五、部署master节点 六、安装flannel网络插件 七、部署node节点 八、安装CoreDNS 九、安装dashboard 十...

    kubernetes应用学习手册

    Kubernetes是目前最受欢迎的容器编排工具之一,它能够自动化容器化应用的部署、扩展以及操作。在本部分中,我们将详细介绍如何使用kubectl工具,它是一个命令行接口,用于与Kubernetes集群进行通信,执行命令和操作...

    深入浅出Kubernetes项目实战手册 [阿里云开发者社区].pdf.zip

    深入浅出Kubernetes项目实战手册 [阿里云开发者社区].pdf.zip

    kubernetes 中文 手册

    Kubernetes一个用于容器集群的自动化部署、扩容以及运维的开源平台。 使用Kubernetes,你可以快速高效地响应客户需求: 动态地对应用进行扩容。 无缝地发布新特性。 仅使用需要的资源以优化硬件使用。 我们希望培育...

    Kubernetes Dashboard实验手册1

    在本实验中,我们主要探讨了如何使用Kubernetes Dashboard这一可视化管理工具来部署和管理集群资源。Kubernetes Dashboard是Kubernetes官方提供的一款Web界面,它允许用户通过图形化界面进行常见的集群操作,如创建...

    linuxfoundation kubernetes/k8s CKS考试实验手册

    《Linux基金会 Kubernetes/K8s CKS考试实验手册》是针对LFS260课程的一份重要参考资料,旨在帮助考生深入理解和掌握Kubernetes的安全基础。该手册由Linux基金会于2021年1月7日发布,并对版权有严格的保护规定,仅供...

    kubernetes部署安装手册V1.0.pdf

    Kubernetes部署安装手册V1.0.pdf文件中详细介绍了如何部署和安装Kubernetes集群,并提供了具体的操作步骤和注意事项。在Kubernetes的入门安装教程方面,由于官方文档已比较丰富,本文档更侧重于作者实践经验的总结,...

    kubernetes K8S超详细安装部署手册

    ### Kubernetes (K8S) 超详细安装部署手册知识点概览 #### 一、Kubernetes简介与核心功能 Kubernetes(简称K8S)是一个开源的容器编排平台,旨在自动化容器化应用的部署、扩展和管理。通过提供一系列核心功能,K8S...

    Kubernetes 实战手册

    《Kubernetes 实战手册》是一本深度探讨 Kubernetes 集群管理和应用部署的权威指南,旨在帮助读者从零基础开始,逐步掌握 Kubernetes 这一强大的容器编排系统。书中不仅涵盖了 Kubernetes 的基本概念,还提供了丰富...

    K8S(kubernetes)学习指南.pdf

    "K8S(kubernetes)学习指南.pdf" Kubernetes是当前最流行的容器编排系统,它提供了自动化部署、扩展和管理容器化应用程序的功能。本文档将指导读者一步步学习Kubernetes的核心概念和实现机制。 首先,Kubernetes的...

    kubernetes Reference.pdf kubernetes学习手册

    This section of the Kubernetes documentation contains references. • API Reference • API Client Libraries • CLI Reference • Components Reference • Design Docs API Reference • Kubernetes API ...

    kubernetes中文手册

    这个“kubernetes中文手册”提供了2017年的最新版本,对于理解Kubernetes的基本概念、核心功能以及如何在实际环境中部署和管理容器化应用来说,是一份非常宝贵的资源。 Kubernetes的目标是自动化容器的部署、扩展和...

    Kubernetes修炼手册 ((英)奈吉尔·波尔顿(Nigel Poulton)) .epub

    Kubernetes修炼手册 ((英)奈吉尔·波尔顿(Nigel Poulton)) .epub

Global site tag (gtag.js) - Google Analytics