Kubernetes Running Locally
1. Requirements
1) Linux
Not running Linux? Consider running Minikube, or on a cloud provider like Google Compute Engine.
It recommends Ubuntu16.04.
2) Go
You need go in your path (see here for supported versions), please make sure it is installed and in your $PATH.
It recommends Go1.9.2+.
$ wget https://golang.org/dl/go1.9.2.linux-amd64.tar.gz
$ tar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz
PS: It's better to set environments by adding the following sections into /etc/profile like this:
3) Docker
At least Docker 1.10+. Ensure the Docker daemon is running and can be contacted (try docker ps).
Some of the Kubernetes components need to run as root, which normally works fine with docker.
$ apt-get install docker.io
$ docker env
4) etcd
You need an etcd in your path, please make sure it is installed and in your $PATH.
It recommends etcd3.2.6+.
$ wget https://github.com/coreos/etcd/releases/download/v3.2.6/etcd-v3.2.6-linux-amd64.tar.gz
$ tar -C /usr/local -xzf etcd-v3.2.6-linux-amd64.tar.gz
5) OpenSSL
You need OpenSSL installed. If you do not have the openssl command available, the script will print an appropriate error.
$ apt-get install openssl
6) CFSSL
The CFSSL binaries (cfssl, cfssljson) must be installed and available on your $PATH.
The easiest way to get it is something similar to the following:
$ apt-get install build-essential
$ go get -u github.com/cloudflare/cfssl/cmd/...
PS: This command will download and build cfssl packages into $GOPATH/bin
2. Networking
Kubernetes is using CNI as the networking plugin, like flannel,dhcp,loopback and so forth.
1) Build CNI
$ go get github.com/containernetworking/plugins/...
PS: This command will download and build CNI packages into $GOPATH/bin
2) Add Conf
$ mkdir -p /etc/cni/net.d
3. Kubernetes
1) Download
$ git clone https://github.com/kubernetes/kubernetes.git
2) Build
$ cd kubernetes
$ make
3) Set Env
set environments by adding the following sections into /etc/profile like this:
4) Run
$ cd kubernetes
$ hack/local-up-cluster.sh # Build and Run
$ hack/local-up-cluster.sh -O # Already build and Run
5) Test
$ cluster/kubectl.sh get pods
$ cluster/kubectl.sh run my-nginx --image=nginx --replicas=2 --port=80
## begin wait for provision to complete, you can monitor the docker pull by opening a new terminal
$ docker images
## you should see it pulling the nginx image, once the above command returns it
$ docker ps
## you should see your container running!
exit
## end wait
## introspect Kubernetes!
$ cluster/kubectl.sh get pods
PS: The following docker images will be automatically download.
They can be shown by command "docker images".
Actually these containers will be run to provider the Kubernetes DNS Cluster Service.
gcr.io/google_containers/k8s-dns-sidecar-amd64
gcr.io/google_containers/k8s-dns-kube-dns-amd64
gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64
gcr.io/google_containers/pause-amd64
4. Trouble Shooting
1) swap
- Error
Running with swap on is not supported, please disable swap!
- Solution
* Identify configured swap devices and files with cat /proc/swaps.
* Turn off all swap devices and files with swapoff -a.
* Remove any matching reference found in /etc/fstab.
* Optional: Destroy any swap devices or files found in step 1 to prevent their reuse.
* Due to your concerns about leaking sensitive information, you may wish to consider performing some sort of secure wipe.
2) Improvement
$ vi s.sh
~/go/src/kubernetes/hack/local-up-cluster.sh -O
$ source s.sh # simply to run kubernetes server
$ cp kubernetes/_output/bin/kubelet /usr/local/bin/
$ kubelet # simply to replace cluster/kubectl.sh into kubelet
$ alias k=kubectl
3) Improvement
# export SERVICE_ACCOUNT_LOOKUP=false
# export NET_PLUGIN=kubenet #just for gce
$ kubectl exec POD_NAME -it /bin/bash
$ kubectl logs
$ kubectl cluster-info dump
Kubernetes Running Locally的更多相关文章
- 问题解决:psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
错误提示: psql: could not connect to server: No such file or directory Is the server running locally and ...
- 问题解决:psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
错误提示: psql: could not connect to server: No such file or directory Is the server running locally and ...
- 关于Kubernetes(简称K8S)的开启及基本使用,基于Docker Desktop & WSL2
背景介绍 Kubernetes(简称k8s)已成为目前业界容器编排的事实标准,其搭配Docker可建立非常高效便捷的高可扩展.高可用应用服务架构. Kubernetes的名字来自希腊语,意思是&quo ...
- Announcing the public preview of Azure Dev Spaces
Today, we are excited to announce the public preview of Azure Dev Spaces, a cloud-native development ...
- docker官方文档学习-1-Docker for mac安装配置
https://docs.docker.com/docker-for-mac/ Get started with Docker for Mac 首先像在本博客docker-1-环境安装及例子实践处将环 ...
- Distributed Phoenix Chat with PubSub PG2 adapter
转自:https://www.poeticoding.com/distributed-phoenix-chat-with-pubsub-pg2-adapter/ In this article we’ ...
- spark源码分析以及优化
第一章.spark源码分析之RDD四种依赖关系 一.RDD四种依赖关系 RDD四种依赖关系,分别是 ShuffleDependency.PrunDependency.RangeDependency和O ...
- [转]gitlab ci/cd 发布
转自 https://meigit.readthedocs.io/en/latest/configure_gitlab_i18n_and_create_gitlab_ci_with_gitlab_ru ...
- 在PC上测试移动端网站和模拟手机浏览器的5大方
查了很多资料,尝试了大部分方法,下面将这一天的努力总结下分享给大家,也让大家免去看那么多文章,以下介绍的方法,都是本人亲自测试成功的方法,测试环境winxp. 一.Chrome*浏览器 chrome模 ...
随机推荐
- unity 确定敌人行走路线
一开始搞这个问题很头疼,无从下手. 1.敌人在随机地点产生后,每个敌人有要有自己自动的行走路线,目的地是保护地,而且行走路线要多样化. 2.敌人在看到玩家时,改变行走路线,向玩家的方向行进,且到了一定 ...
- ERROR: from PIL import Image ImportError: No module named PIL
ERROR: from PIL import Image ImportError: No module named PIL 到 http://www.pythonware.com/products/p ...
- javascript的caller,callee,call,apply[转]
在提到上述的概念之前,首先想说说javascript中函数的隐含参数:arguments Arguments 该对象代表正在执行的函数和调用它的函数的参数. [function.]arguments[ ...
- 已经导入到VS工具箱中的DevExpress如何使用
1.下载安装DevExpress控件(如DXperienceUniversal-11.1.12.exe),安装后路径:“C:\Program Files (x86)\DevExpress 2011.1 ...
- 设计模式4---原型模式(Prototype Pattern)
原型模式(Prototype):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 原型模式结构图 通俗来说:原型模式就是深拷贝和浅拷贝的实现. 浅拷贝 只实现了值拷贝,对于引用对象还是 ...
- Navicat for MySQL打开链接时出错错误为:2005 - Unknown MySQL server host 'localhost'(0)?
问题:Navicat for MySQL打开链接时出错错误为:2005 - Unknown MySQL server host 'localhost'(0)? 在使用navicat 连接mysql数据 ...
- 【Apache系列】Windows下作为应用程序运行Apache
步骤一 Cmd打开命令行窗口,切换到apache安装目录下 cd C:\MAS\TRSMAS\win31\apache\bin 步骤二 安装apache服务器 installed Apache se ...
- APIO2012 派遣dispatching | 左偏树
题目链接:戳我 就是尽可能地选取排名小的,加起来就可以了.然后我们考虑利用一个大根堆,一个一个合并,如果超过派遣的钱,我们就把费用最大的那个忍者丢出队列. 左偏树,作为一个十分优秀的可并堆,我们这道题 ...
- swoft| 源码解读系列一: 好难! swoft demo 都跑不起来怎么破? docker 了解一下呗~
title: swoft| 源码解读系列一: 好难! swoft demo 都跑不起来怎么破? docker 了解一下呗~description: 阅读 sowft 框架源码, swoft 第一步, ...
- “全栈2019”Java第四十七章:继承与方法
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...