1. Compiling environment
Operating system: Ubuntu 16.04 LTS AMD64
git:2.7.4
docker:1.12.6
2. Compile Steps
2.1 Clone Source Code
# git clone https://github.com/kubernetes/kubernetes.git
# git checkout release-1.7
2.2 To modify the source code is to solve the Gcr.io domestic problems, has been tested, even if ready to gcr.io related mirrors, such as not modify the source code will still be due to network problems caused the compilation failed
edit
Kubernetes Important Concept UnderstandingKubernetes is currently the most mainstream container orchestration tool, the next generation of distributed architecture of the king. 2018 Kubernetes The first version 1.10 has been released. Here's a look at some of the basic concepts of kubernetes.The kubernetes divides the machines in the cluster into master nodes and
ClusterCluster is a collection of compute, storage, and network resources, and Kubernetes uses these resources to run various container-based applicationsMasterMaster is the brain of cluster, whose primary responsibility is scheduling, that is, deciding where the application will run. Master runs the Linux operating system, which can be either a physical machine or a virtual machine. To achieve high availability, you can run multiple master.NodeNode's
Kubernetes Kubeadm installation requires the following four packages Kubelet Kubernetes-cni Kubeadm kubectl
These four packages can be downloaded via the Https://github.com/kubernetes/kubernetes warehouse to perform make fetch installation packages, and the release version is required if the RPM package is required.
In
status of the cluster ETCD Kubectl get CS
2. Deploying node ComponentsThe first step: put the file created in SSL above
Bootstrap.kubeconfig,kube-proxy.kubeconfig
Copy to Node
Scp-r *kubeconfig root@192.168.161.152:/opt/kubernetes/cfgScp-r *kubeconfig root@192.168.161.153:/opt/kubernetes/cfg
Step Two: Locate the K8s file component required by the node server i
-d --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock --net=host rancher/agent:v2.0.2 --etcd --controlplane --worker --server https://rancher_server_address --token xg2hdr8rwljjbv8r94qhrbzpwbbfnkhphq5vjjs4dfxgmb4wrt9rpq --ca-checksum 3d6f14b44763184519a98697d4a5cc169a409e8dde143edeca38aebc1512c31d?After you run this command on a node, you should see it join the cluster and be configured by rancher.Protip: These tokens can also be u
Hi,everybody, I came back, before the installation to flannel, the article has not been updated, even a lot of small partners to add QQ asked whether to continue to update,Here is the reason, I was in the deployment of 1.91node when there are a variety of problems, resulting in node startup Oh, master always do not see, the problem is probably1, Virtual machine time synchronization inconsistency problem, causing ETCD to create a resource is unsuccessf
health status of the cluster ETCD Kubectl get CS2. Deploying node ComponentsThe first step: put the file created in SSL aboveBootstrap.kubeconfig,kube-proxy.kubeconfigCopy to NodeScp-r *kubeconfig [Email protected]:/opt/kubernetes/cfgScp-r *kubeconfig [Email protected]:/opt/kubernetes/cfgStep Two: Locate the K8s file component required by the node server in the
name directly in the app to reference, avoid the previous variable flooding problem, but also avoid the embarrassing situation of the creation order.installation of cluster DNS under the Kubernetes1.2.7 versionRead the official source discovery on GitHub:Cluster DNS Since the Kubernetes1.3 version, the structure has changed. This is the first study of the 1.2.7 version.cluster DNS extension is used to support Kubernetes's service discovery mechanism, and in the 1.2.7 version, Cluster DNS mainl
ReviewSimply put: Each component version that Kubernetes relies on can be found in the corresponding ChanglogFor example, version 1.10 depends on the following conditions:Https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.10.md#external-dependenciesThe following simple example summarizes:k8s v1.10 dependent version Select 1.10.0 Dependent package:Ht
pod (which can also be understood as a container) to communicate with each other, you cannot use the default network segment provided by DOCKER0, we need to deploy an overlay network, so that each node nodes Docker0 Network is in a different network segment, so that By adding some routing and forwarding policies, each pod in the cluster can communicate in the same virtual network.
1. Write Flanneld's systemd file here:# cat /usr/lib/systemd/system/flanneld.service [Unit]Description=Flannel
Use Rancher's RKE to quickly deploy a Kubernetes Cluster
Brief description:
This article involves three Ubuntu machines, one RKE deployment machine (192.168.3.161), and two Kubernetes cluster machines (3.162 and 3.163 ).
First on a Windows machine, download the rke_linux-amd64 from github, rename it rke, edit the cluster. the yml cluster deployment file uses the pscp Command provided by putty to upload the
Direct start:5.1, Flannel IntroductionFlannel is an overlay networking (overlay network) tool designed by the CoreOS team for Kubernetes to help each kuberentes host with CoreOS have a complete subnet. Kubernetes assigns a separate IP address to each pod, which makes it easier for Containers in the same pod to connect to each other, and flannel to set a subnet for the host by creating an overlay grid networ
ObjectiveThis article is a reading note, specific reference to Mr. Nu Bongfei's original "Kubernetes Guide", thank the original author, salute!I. Introduction of BorgBorg is a large-scale cluster management system within Google, which is responsible for the scheduling and management of many core services within Google.The goal of Borg is to enable users to focus on their core business without having to worry about resource management, and to maximize
Tail-f/var/log/messagenov1409:39:09imagejournal:w111409:39:09.943633 1controller.go:386]Resettingendpointsformasterservice " Kubernetes "to{{}{kubernetesdefault/api/v1/namespaces/default/ Endpoints/kubernetes17553a6b-c907-11e7-b180-fa163ee5f1502002302017-11-1406:43:15 +0000utcWorkaround:Append the--apiserver-count=n to the Api-server configuration file, and then restart the ApiserverThis article is from the "ipcpu" blog, make sure to keep this source
the IP needs to be within the specified IP address range of the Kube-apiserver boot parameter –service-cluster-ip-range. and Skydns If it is a localized installation, it is not possible to bind the IP of the DNS server to the IP of a virtual network (that is, the value of the parameter-addr). I would prefer to install it using mirroring mode. InstallationThe contents of the file Kubernetes-dns.yaml as follows:apiversion:v1kind:replicationcontrollerme
I. Background INTRODUCTION
As we all know, due to the domestic network reasons, in the construction of kubernetes environment, often encountered the need for the mirror can not find the situation.
After all, it is not a good idea to pick up rubbish in Dockerhub, this article teaches everyone to build their own mirror warehouse in Dockerhub.
Request: Have GitHub account number, have dockerhub account number, do not register.
Second, the basic steps
2.1
Kubernetes is a distributed cluster of Google's Docker based, with the following main components ETCD: High-availability storage sharing configuration and service discovery, used as a companion to flannel on Minion machines, to enable Docker running on each minion to have different IP segments The ultimate goal is to make the Docker Containner running on different minion have an IP address that is not the
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.