Kubernetes之环境搭建

安装概念描述

1.这里我们的安装是基于Centos机器,然后安装K8S以及相关的K8S的组件,当然这个也必须有docker的安装;
2.那这里就涉及到一些本地Windows环境或者Mac机器如何去拥有Centos机器的问题?
	2.1.一种是在本地安装虚拟机,然后创建centos操作系统的机器
	2.2.另外一种的话,大家可以去阿里云或者其他的云平台上买一台centos的机器,去进行相关的实操训练;
3.下面的几种搭建Kubernetes环境的方式,根据大家不同的需要(有可能只是了解,学些,或者有些是企业级的应用)
  去选择自己的方式;另外有些方式,我们只是提供指导,未进行实际的操作,大家可以参考对应的官网操作实施;
4.另外我们这里说的K8S的组件主要是下面这些:
	4.1.kube-controller
	4.2.cloud-controller
	4.3.kuber-apiserver
	4.4.etcd
	4.5.kuber-scheduler
	4.6.kubelet
	等等  

在这里插入图片描述

The Hard Way (入门阶段不推荐)

https://github.com/kelseyhightower/kubernetes-the-hard-way
步骤
在这里插入图片描述

The Easy Way[模拟学习]

使用下面的地址进行模拟学习

https://labs.play-with-k8s.com/

在这里插入图片描述

登录创建三台机器

在这里插入图片描述
创建之后
在这里插入图片描述
创建之后,每个机器上会出现下面的提示

 1. Initializes cluster master node:

 kubeadm init --apiserver-advertise-address $(hostname -i)


 2. Initialize cluster networking:

 kubectl apply -n kube-system -f \
    "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 |tr -d '\n')"


 3. (Optional) Create an nginx deployment:

 kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/nginx-app.yaml

设置Master Node节点 [192.168.0.11]

[node3 ~]$ kubeadm init --apiserver-advertise-address $(hostname -i)
Initializing machine ID from random generator.
I1222 03:43:06.130817    1273 version.go:240] remote version is much newer: v1.17.0; falling back to: stable-1.14
[init] Using Kubernetes version: v1.14.10
[preflight] Running pre-flight checks
        [WARNING Service-Docker]: docker service is not active, please run 'systemctl start docker.service'
        [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driveris "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
        [WARNING FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables does not exist
[preflight] The system verification failed. Printing the output from the verification:
KERNEL_VERSION: 4.4.0-165-generic
DOCKER_VERSION: 19.03.5
OS: Linux
CGROUPS_CPU: enabled
CGROUPS_CPUACCT: enabled
CGROUPS_CPUSET: enabled
CGROUPS_DEVICES: enabled
CGROUPS_FREEZER: enabled
CGROUPS_MEMORY: enabled
        [WARNING SystemVerification]: this Docker version is not on the list of validated versions: 19.03.5. Latest validated version: 18.09
        [WARNING SystemVerification]: failed to parse kernel config: unable to load kernel module: "configs", output: "", err: exit status 1
[preflight] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'
[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[kubelet-start] Activating the kubelet service
[certs] Using certificateDir folder "/etc/kubernetes/pki"
[certs] Generating "ca" certificate and key
[certs] Generating "apiserver" certificate and key
[certs] apiserver serving cert is signed for DNS names [node3 kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 192.168.0.11]
[certs] Generating "apiserver-kubelet-client" certificate and key
[certs] Generating "etcd/ca" certificate and key
[certs] Generating "etcd/peer" certificate and key
[certs] etcd/peer serving cert is signed for DNS names [node3 localhost] and IPs [192.168.0.11 127.0.0.1 ::1]
[certs] Generating "etcd/healthcheck-client" certificate and key
[certs] Generating "etcd/server" certificate and key
[certs] etcd/server serving cert is signed for DNS names [node3 localhost] and IPs [192.168.0.11 127.0.0.1 ::1]
[certs] Generating "apiserver-etcd-client" certificate and key
[certs] Generating "front-proxy-ca" certificate and key
[certs] Generating "front-proxy-client" certificate and key
[certs] Generating "sa" key and public key
[kubeconfig] Using kubeconfig folder "/etc/kubernetes"
[kubeconfig] Writing "admin.conf" kubeconfig file
[kubeconfig] Writing "kubelet.conf" kubeconfig file
[kubeconfig] Writing "controller-manager.conf" kubeconfig file
[kubeconfig] Writing "scheduler.conf" kubeconfig file
[control-plane] Using manifest folder "/etc/kubernetes/manifests"
[control-plane] Creating static Pod manifest for "kube-apiserver"
[control-plane] Creating static Pod manifest for "kube-controller-manager"
[control-plane] Creating static Pod manifest for "kube-scheduler"
[etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests"
[wait-control-plane] Waiting for the kubelet to 

设置Worker Node节点 [192.168.0.12,192.168.0.13]

云上搭建K8S方式 —使用kops

https://github.com/kubernetes/kops

企业级解决方案 ----coreos

https://coreos.com/

使用Minikube 搭建本地单机版的K8S(MAC系统)

官方仓库文档
https://kubernetes.io/docs/setup/learning-environment/minikube/

在这里插入图片描述

1.安装虚拟机[VirtualBox]并校验是否安装成功

1.VirtualBox安装参考地址
https://blog.csdn.net/u014636209/article/details/103052261

2.验证是否成功

localhost:~ gaoxinfu$ sysctl -a | grep -E --color 'machdep.cpu.features|VMX' 
machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX SMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C
localhost:~ gaoxinfu$ 

在这里插入图片描述

1.VMX被标红,说明已经安装成功

2.安装 minikube

https://blog.csdn.net/u014636209/article/details/103695825

Kubeadm/二进制的方式,搭建本地K8S集群

发布了261 篇原创文章 · 获赞 37 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/u014636209/article/details/103659604