环境准备
Linux x64, centos或者ubuntu或者debian都可以
512MB以上内存,5G以上存储空间,需要互联网,需要代理(自己准备)
安装k3s
curl -sfL https://get.k3s.io | sh -
代理设置
k3s启动之后,容器下载,需要访问谷歌的镜像服务器,必须要设置代理
# cat /etc/systemd/system/k3s.service.env HTTP_PROXY=http://localhost:8123 HTTPS_PROXY=http://localhost:8123 NO_PROXY=localhost,127.0.0.1
修改这个文件配置之后,执行
systemctl daemon-reload systemctl restart k3s
就可以继续下面的操作了
开启一个服务
新建一个文件 deployment.yml
apiVersion: apps/v1beta1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 2 # tells deployment to run 2 pods matching the template template: # create pods using pod definition in this template metadata: # unlike pod-nginx.yaml, the name is not included in the meta data as a unique name is # generated from the deployment name labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80
执行命令启动服务
kubectl create -f deployment.yml #需要删除服务,可以执行kubectl delete -f deployment.yml
服务和转发
建立一个转发配置文件,名字为:apitest.ing.yml
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: traefik spec: rules: - host: gw.netroby.com http: paths: - path: / backend: serviceName: my-svc servicePort: 80
然后执行
kubectl expose deployment nginx-deployment --name=my-svc kubectl create -f apitest.ing.yml
查看转发部署的情况
kubectl get svc --all-namespaces
kubectl describe ing
访问测试
curl -v -H 'Host: gw.netroby.com' 192.168.3.2
总结
到了这里,基本的基于k8s的服务创建,服务转发,访问测试,整个流程都可以轻松玩转了,恭喜你,加入k8s的大家庭。
相对于用docker,真是又一个了不起的进步呢