一、简介
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-engined、启动Docker
systemctl enable docker systemctl start dockere、查看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: cgroupfsf、安装kubernetes
yum install -y kubeadm kubectl kubelet kubernetes-cnig、关闭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 firewalldi、修改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.5c、启动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, 步骤比较详细, 适合新手
Kubernetes安装手册(非高可用版)简易上手
### Kubernetes v1.9.0 离线安装详解 #### 概述 本文档旨在为读者提供一个详细的Kubernetes v1.9.0离线安装教程,特别针对那些在网络受限环境中部署Kubernetes集群的场景。Kubernetes是目前最流行的容器编排系统之...
Kubernetes的安装部署手册是IT运维人员和开发者在部署Kubernetes集群时的重要参考资料。手册中介绍了Kubernetes的架构、核心组件以及如何部署Kubernetes集群。接下来将详细描述这些内容。 ### 容器编排工具 ...
UOS服务器操作系统kubernetes部署手册 适用操作系统:UOS服务器操作系统1xxxA和1xxxE 统信服务器操作系统
Kubernetes的部署涉及多个方面,包括系统要求、安装步骤、配置说明等。在安装过程中,用户需要考虑集群的网络配置、存储设置以及安全机制,以确保集群的高可用性和稳定性。此外,Kubernetes本身也支持高可用架构,...
Kubernetes安装详细部署 一、环境说明 二、创建TLS证书和密钥 三、创建kubeconfig文件 四、创建高可用etcd集群 五、部署master节点 六、安装flannel网络插件 七、部署node节点 八、安装CoreDNS 九、安装dashboard 十...
Kubernetes是目前最受欢迎的容器编排工具之一,它能够自动化容器化应用的部署、扩展以及操作。在本部分中,我们将详细介绍如何使用kubectl工具,它是一个命令行接口,用于与Kubernetes集群进行通信,执行命令和操作...
深入浅出Kubernetes项目实战手册 [阿里云开发者社区].pdf.zip
Kubernetes一个用于容器集群的自动化部署、扩容以及运维的开源平台。 使用Kubernetes,你可以快速高效地响应客户需求: 动态地对应用进行扩容。 无缝地发布新特性。 仅使用需要的资源以优化硬件使用。 我们希望培育...
在本实验中,我们主要探讨了如何使用Kubernetes Dashboard这一可视化管理工具来部署和管理集群资源。Kubernetes Dashboard是Kubernetes官方提供的一款Web界面,它允许用户通过图形化界面进行常见的集群操作,如创建...
《Linux基金会 Kubernetes/K8s CKS考试实验手册》是针对LFS260课程的一份重要参考资料,旨在帮助考生深入理解和掌握Kubernetes的安全基础。该手册由Linux基金会于2021年1月7日发布,并对版权有严格的保护规定,仅供...
Kubernetes部署安装手册V1.0.pdf文件中详细介绍了如何部署和安装Kubernetes集群,并提供了具体的操作步骤和注意事项。在Kubernetes的入门安装教程方面,由于官方文档已比较丰富,本文档更侧重于作者实践经验的总结,...
### Kubernetes (K8S) 超详细安装部署手册知识点概览 #### 一、Kubernetes简介与核心功能 Kubernetes(简称K8S)是一个开源的容器编排平台,旨在自动化容器化应用的部署、扩展和管理。通过提供一系列核心功能,K8S...
《Kubernetes 实战手册》是一本深度探讨 Kubernetes 集群管理和应用部署的权威指南,旨在帮助读者从零基础开始,逐步掌握 Kubernetes 这一强大的容器编排系统。书中不仅涵盖了 Kubernetes 的基本概念,还提供了丰富...
"K8S(kubernetes)学习指南.pdf" Kubernetes是当前最流行的容器编排系统,它提供了自动化部署、扩展和管理容器化应用程序的功能。本文档将指导读者一步步学习Kubernetes的核心概念和实现机制。 首先,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中文手册”提供了2017年的最新版本,对于理解Kubernetes的基本概念、核心功能以及如何在实际环境中部署和管理容器化应用来说,是一份非常宝贵的资源。 Kubernetes的目标是自动化容器的部署、扩展和...
Kubernetes修炼手册 ((英)奈吉尔·波尔顿(Nigel Poulton)) .epub