一些链接
http://liubin.org/blog/2021/01/28/install-old-version-k8s/
安装老版本k8s
安装docker
curl -sSL get.docker.com | sh
需要不适用root登录(测试失败)
这里还有一个问题需要注意一下,如果你是使用的 root 账号操作的话,会有一个问题,minikube 不能以 root 权限启动,需要创建一个其他用户然后切过去,不过这个用户是无法通过 docker 客户端跟服务端 /var/run/docker.sock
连接的,因为这个socket是 root 创建的,所以我们对应的也要给予这个用户访问 docker 的权限,这里我们以创建一个叫 developer 的用户为例:
# 创建用户
sudo adduser developer
# 创建组 docker
sudo groupadd docker
# 把 developer 加到 docker 这个组里面去
sudo usermod -aG docker developer
# 重启 docker,使得 /var/run/docker.sock 的用户组变更
sudo systemctl restart docker.socket docker
# 然后切过去验证一下
su developer
docker ps
来自 https://huweicai.com/minikube-install-tutorial/
curl -Lo minikube https://github.com/kubernetes/minikube/releases/download/v1.15.1/minikube-linux-amd64
chmod +x minikube && sudo mv minikube /usr/local/bin/
https://huweicai.com/minikube-install-tutorial/ 目前这个文件比较合适。
国内镜像
minikube start --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --image-mirror-country=cn
https://minikube.sigs.k8s.io/docs/start/
尝试root下安装,为 none !!! 需要在root目录下执行命令
需要先
sudo apt-get install -y conntrack
再start
minikube start --vm-driver=none
设置 默认alias
alias kubectl="minikube kubectl --"
测试 kubectl 版本对应
测试可用
https://kubernetes.io/zh/docs/tutorials/hello-minikube/
kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4
kubectl get deployments
kubectl get events
kubectl config view
kubectl expose deployment hello-node --type=LoadBalancer --port=8080
自动补全
echo "source <(kubectl completion zsh)" >> ~/.bashrc
echo "alias kubectl="minikube kubectl --"" >> ~/.bashrc
dashboard
minikube dashboard --port=33405
自建转发
设置本地的端口转发
!!!注意本地端口转发需要设置sshkey ,
第一步填
设置ssh-key
安装kubeless
wget https://github.com/vmware-archive/kubeless/releases/download/v1.0.8/kubeless_linux-amd64.zip
unzip kubeless.zip
sudo cp bundles/kubeless_linux-amd64/kubeless /usr/local/bin/
需要是启动RBAC的
kubectl create ns kubeless
kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.8/kubeless-v1.0.8.yaml
查看是否运行
kubectl get pod memory-demo --namespace=mem-example
kubectl get pods --namespace=kubeless
kubectl get pods -n kubeless
NAME READY STATUS RESTARTS AGE
kafka-0 1/1 Running 0 1m
kubeless-controller-3331951411-d60km 1/1 Running 0 1m
zoo-0 1/1 Running 0 1m
kubectl get deployment -n kubeless
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
kubeless-controller 1 1 1 1 1m
kubectl get statefulset -n kubeless
NAME DESIRED CURRENT AGE
kafka 1 1 1m
zoo 1 1 1m
kubectl get customresourcedefinition
NAME DESCRIPTION VERSION(S)
function.k8s.io Kubeless: Serverless framework for Kubernetes v1
kubectl get functions
编写代码
import urllib2
import json
def find(request):
term = request.json["term"]
url = "https://feeds.capitalbikeshare.com/stations/stations.json"
response = urllib2.urlopen(url)
stations = json.loads(response.read())
hits = []
for station in stations["stationBeanList"]:
if station["stAddress1"].find(term) > -1:
hits.append(station)
return json.dumps(hits)
来自网页https://docs.bitnami.com/tutorials/get-started-serverless-computing-kubeless/
demo测试
https://github.com/eldada/kubeless-demo
git clone https://github.com/eldada/kubeless-demo
到目录后按照readme操作
例如java的demo,会拉取两次镜像和编译。。
大概几百兆。
测试时候,用trigger和相关测试。
容器在k8s下网络部分的各类比较
https://www.kubernetes.org.cn/2059.html
包括calico,weave,等等flannel多种比较